java中将字符串传入到HashMap中

四、 有字符串如下:“1001_张三,1002_李四,1003_王五,1004_赵六”,要求将字符串中的” 学号_姓名”放入到一个HashMap对象中。其中“学号”作为键,“姓名”作为值。

第1个回答  2017-10-25
package test;

import java.util.HashMap;
import java.util.Map;

public class test {
public static void main(String[] args) {

String a[]=new String[]{"1001_张三","1002_李四","1003_王五","1004_赵六"};
Map<String, String> map=new HashMap<>();
for(int i=0;i<4;i++){
String num=a[i].substring(0, a[i].indexOf("_"));
String name=a[i].substring(a[i].indexOf("_"+1));
map.put(num,name);
}
}
}

本回答被提问者采纳
第2个回答  2017-10-25
String str="1001_张三,1002_李四,1003_王五,1004_赵六";
String reg="(\\d+)\\_([^\\_,]+)";
HashMap<String,String> map=new HashMap<String,String>();
Pattern p = Pattern.compile(reg);
Matcher m = p.matcher(str);
while(m.find()){
map.put(m.group(1),m.group(2));
}
System.out.println(map);
相似回答