字符串解析的问题 str="001,A001|002,A002|003,A003"帮忙写个函数吧str存储到map里。001为key,A002为value,以“|”分开 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 import java.util.HashMap;import java.util.Map;public class Test { public static void main(String[] args) { String str="001,A001|002,A002|003,A003"; Map<String,String> map = new HashMap<String,String>(); parse(map,str); System.out.println(map); } /** * 解析字符串str,并将结果存入map * @param map 保存结果的map * @param str 得解析的字符串 */ private static void parse(Map<String,String> map, String str) { String[] temp = str.split("\\|"); for(int i=0; i<temp.length; i++) { int index = temp[i].indexOf(","); map.put(temp[i].substring(0, index), temp[i].substring(index+1)); } }} Map map = new HashMap(); String str="001,A001|002,A002|003,A003"; String s1[] = str.split("\\|"); String s2[]; for(int i = 0;i<s1.length;i++){ s2 = s1[i].split(","); if(s2!=null) map.put(s2[0], s2[1]); } System.out.println(map); 先用|分割将字符串分成3个子串,然后对每个子串使用,分割,得到key和value,放入map中就可以了 package test;import java.util.HashMap;import java.util.Map;public class Test { /** * @param args */ public static void main(String[] args) { String str="001,A001|002,A002|003,A003"; String [] strArray = str.split("\\|"); Map<String,String> map = new HashMap<String,String>(); for (int i = 0; i < strArray.length; i++) { String [] itemArray = strArray[i].split(","); if(itemArray.length == 2) { map.put(itemArray[0], itemArray[1]); } } System.out.println(map.size()); }} 楼主,平时多看看API。这就是用到了String中的一些方法而已。 import java.util.HashMap;public class StrToMap { private HashMap<String,String> datas = new HashMap<String,String>(0); public String[] getData (String arg0){ return arg0.split("\\|"); } public void addToMap(String arg0) { String[] data = arg0.split("\\,"); datas.put(data[0], data[1]); } public static void main(String[] args) { String str="001,A001|002,A002|003,A003"; StrToMap stm = new StrToMap(); String[] datas = stm.getData(str); for (String data : datas) { stm.addToMap(data); } System.out.print(stm.datas); }} 那个代码执行的更快?为什么? 线程和swing的问题? 如何叫用戶輸入一堆數字,然後吧數目成(*)起來 Java语言 C/S模式开发,都需要具备什么样的知识? 关于Method类的getDeclaredMethods方法的问题 请讲一下该类是如何初始化的? 在给定文件中搜索字符串,然后返回行数和行的内容 大家帮帮忙吧,classpath里设置好了jar路径,可程序就是说找不到包!!! 一个关于异常类的问题 中国软件向印度学什么 (zt)-----唉!不服人家不行! 三子棋!!有点问题啊 隐藏真实url
import java.util.HashMap;
import java.util.Map;
public class Test {
public static void main(String[] args) {
String str="001,A001|002,A002|003,A003";
Map<String,String> map = new HashMap<String,String>();
parse(map,str);
System.out.println(map);
}
/**
* 解析字符串str,并将结果存入map
* @param map 保存结果的map
* @param str 得解析的字符串
*/
private static void parse(Map<String,String> map, String str) {
String[] temp = str.split("\\|");
for(int i=0; i<temp.length; i++) {
int index = temp[i].indexOf(",");
map.put(temp[i].substring(0, index), temp[i].substring(index+1));
}
}
}
String str="001,A001|002,A002|003,A003";
String s1[] = str.split("\\|");
String s2[];
for(int i = 0;i<s1.length;i++){
s2 = s1[i].split(",");
if(s2!=null)
map.put(s2[0], s2[1]);
}
System.out.println(map);
import java.util.Map;public class Test { /**
* @param args
*/
public static void main(String[] args) {
String str="001,A001|002,A002|003,A003";
String [] strArray = str.split("\\|");
Map<String,String> map = new HashMap<String,String>();
for (int i = 0; i < strArray.length; i++) {
String [] itemArray = strArray[i].split(",");
if(itemArray.length == 2) {
map.put(itemArray[0], itemArray[1]);
}
}
System.out.println(map.size());
}}
private HashMap<String,String> datas = new HashMap<String,String>(0);
public String[] getData (String arg0){
return arg0.split("\\|");
} public void addToMap(String arg0) {
String[] data = arg0.split("\\,");
datas.put(data[0], data[1]);
}
public static void main(String[] args) {
String str="001,A001|002,A002|003,A003";
StrToMap stm = new StrToMap();
String[] datas = stm.getData(str);
for (String data : datas) {
stm.addToMap(data);
}
System.out.print(stm.datas);
}
}