题目: 已知 List<String> list = new ArrayList<String>();
list .add("张三丰,北京");
list .add("李四丰,上海");
list .add("王二小,北京");
list .add("小明,河北");
list .add("小毛,北京");
list .add("王五,北京");
要求:求出每个地区有多少人,都是谁?
例如: 北京 4人 张三丰 王二小 小毛 王五
可以看一下我的另一篇文章,或许对你有些帮助:
https://blog.csdn.net/Hollo_Java/article/details/99055020
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class Csdn{
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("张三丰,北京");
list.add("李四丰,上海");
list.add("王二小,北京");
list.add("小明,河北");
list.add("小毛,北京");
list.add("王五,北京");
Map<String, String> map = new LinkedHashMap<String, String>();
for(String lt:list){
String[] st = lt.split(",");
boolean flag = map.containsKey(st[1]);
int count = 0;
String str = st[0];
if(flag){
count = Integer.parseInt(map.get(st[1]).substring(0, 1)); //转Integer类型
str = map.get(st[1]).substring(3) + " " + str;
}
map.put(st[1], (++count)+"人 "+str);
}
Set<String> set = map.keySet();
for(String s:set){
System.out.println(s+":"+map.get(s));
}
}
}
北京:4人 张三丰 王二小 小毛 王五
上海:1人 李四丰
河北:1人 小明
愿前程似锦