光je的时候看见有朋友N年前提了这么个问题,自己当练手了,给大家分享一下:
题目如下:
有一个List
内容如下:
a,b,b,b,c,c,d
想通过一种方法得到一个这样的串;
a;b*3;c*2;d
list内容统计 写道
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class test {
public static void main(String args []){
List list=new ArrayList();
list.add("a");
list.add("b");
list.add("a");
list.add("b");
list.add("b");
list.add("c");
list.add("a");
list.add("c");
list.add("a");
list.add("d");
list.add("a");
Map map=new HashMap();
for(int i=0;i<list.size();i++){
String str=(String)list.get(i);
if(map.containsKey(str)){
int value=(Integer)map.get(str);
value=value+1;
map.remove(str);
map.put(str, value);
}else{
map.put(str, 1);
}
}
String mapstr=map.toString();
mapstr=mapstr.replaceAll("=", "*");
mapstr=mapstr.replaceAll(",", ";");
System.out.println(mapstr);
}
}
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class test {
public static void main(String args []){
List list=new ArrayList();
list.add("a");
list.add("b");
list.add("a");
list.add("b");
list.add("b");
list.add("c");
list.add("a");
list.add("c");
list.add("a");
list.add("d");
list.add("a");
Map map=new HashMap();
for(int i=0;i<list.size();i++){
String str=(String)list.get(i);
if(map.containsKey(str)){
int value=(Integer)map.get(str);
value=value+1;
map.remove(str);
map.put(str, value);
}else{
map.put(str, 1);
}
}
String mapstr=map.toString();
mapstr=mapstr.replaceAll("=", "*");
mapstr=mapstr.replaceAll(",", ";");
System.out.println(mapstr);
}
}