论坛首页 入门技术论坛

Java基础

浏览 1334 次
锁定老帖子 主题:Java基础
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-12-17  

光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);
}
}
 
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics