String 转 map


public class testClient {

 

public class testClient {

 


 public static void main(String[] args) {
  // TODO Auto-generated method stub
  List<String> arrayList = new ArrayList<String>();
  Map<String,String> map = new HashMap<String, String>();
  
  String a = "1 a 2 aa 3 aaa 4 aaaa 5 aaaaa wqeqweqwe";
  String[] split = a.split(" ");
  for(String b:split){
   if(b.length()>0){
    //System.out.println(b);
    arrayList.add(b);
   }
  }
  System.out.println("---"+arrayList.size()/2);
  for(int i = 0;i<arrayList.size()-1;i++){
   if(i%2 == 0){
    String memory = arrayList.get(i);
    String e_name = arrayList.get(i+1);
    map.put(e_name, memory);
   }
  }
  System.out.println(map);
  System.out.println(map.size());
  System.out.println(arrayList.get(arrayList.size()-1));
  for (Map.Entry<String, String> entry : map.entrySet()) {
   System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
  }
 }

}

}

结果:

wqeqweqwe
Key = aaa, Value = 3
Key = aaaa, Value = 4
Key = a, Value = 1
Key = aa, Value = 2
Key = aaaaa, Value = 5

前台:

ftl:

  <#assign map = result>
            <#list map?keys as key>
            <tr class=b>
          <td>${map[key]}</td>
          <td> ${key}  </td>
          <td> </td>
         </tr>
         </#list>

### 将字符串换为映射(Map)结构的实现方法 在 Java 中,将字符串换为 `Map` 结构可以通过手动解析字符串或使用内置库来完成。以下是一个示例代码,展示如何将一个格式化的字符串(例如键值对形式的字符串)换为 `Map<String, String>` 类型[^3]。 ```java import java.util.HashMap; import java.util.Map; public class StringToMapExample { public static void main(String[] args) { // 示例字符串:键值对形式 String input = "key1=value1,key2=value2,key3=value3"; // 调用方法将字符串换为 Map Map<String, String> result = stringToMap(input); // 输出结果 System.out.println("换后的 Map: " + result); } public static Map<String, String> stringToMap(String input) { Map<String, String> map = new HashMap<>(); if (input == null || input.isEmpty()) { return map; // 如果输入为空,返回空 Map } // 按逗号分隔每个键值对 String[] pairs = input.split(","); for (String pair : pairs) { // 按等号分隔键和值 String[] keyValue = pair.split("=", 2); // 限制分割次数为 2 if (keyValue.length == 2) { String key = keyValue[0].trim(); String value = keyValue[1].trim(); map.put(key, value); // 添加到 Map 中 } } return map; } } ``` 上述代码展示了如何将一个以逗号分隔的键值对字符串换为 `Map<String, String>`。通过 `split` 方法分别按逗号和等号分割字符串,并将结果存入 `Map` 中[^3]。 ### 处理复杂格式的字符串 如果字符串的格式更加复杂(例如 JSON 格式),可以使用第三方库(如 Jackson 或 Gson)来简化换过程。以下是一个使用 Jackson 库将 JSON 字符串换为 `Map` 的示例[^3]: ```java import com.fasterxml.jackson.databind.ObjectMapper; import java.util.Map; public class JsonStringToMapExample { public static void main(String[] args) { try { // 示例 JSON 字符串 String jsonString = "{\"key1\":\"value1\",\"key2\":\"value2\",\"key3\":\"value3\"}"; // 创建 ObjectMapper 实例 ObjectMapper objectMapper = new ObjectMapper(); // 将 JSON 字符串换为 Map Map<String, String> result = objectMapper.readValue(jsonString, Map.class); // 输出结果 System.out.println("换后的 Map: " + result); } catch (Exception e) { e.printStackTrace(); } } } ``` 此代码片段使用 Jackson 库中的 `ObjectMapper` 类将 JSON 格式的字符串直接换为 `Map<String, String>`[^3]。 ### 注意事项 - 如果字符串格式不符合预期(例如缺少等号或逗号),需要进行额外的错误处理。 - 使用第三方库时,确保项目中已正确引入相关依赖项。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值