您的位置:首页 > 编程语言 > Java开发

java 求一个list集合中出现次数最多的一项,和此项的出现次数

2017-09-29 10:45 2356 查看
//java 求一个list集合中出现次数最多的一项,和此项的出现次数
//效率很高的统计方法。利用正则表达式统计
@Test
public void st() {
String regex;
Pattern p;
Matcher m;
List<String> l =new ArrayList<String>();
l.add("a") ;
l.add("a") ;
l.add("b") ;
l.add("b") ;
l.add("b") ;
l.add("c") ;
l.add("d") ;
l.add("d") ;
String tmp = "";
String tot_str = l.toString();
//System.out.println(tot_str);   //[aa, aa, aa, aa, bb, bb, cc, cc, dd, ed]
int max_cnt = 0;
String max_str = "";
for(String str : l) {
if (tmp.equals(str)) continue;
tmp = str;
regex = str;
p = Pattern.compile(regex);
m = p.matcher(tot_str);
int cnt = 0;
while(m.find()) {
cnt++;
}
//System.out.println(str + ":" + cnt);
if (cnt > max_cnt) {
max_cnt = cnt;
max_str = str;
}
}
System.out.println(" 出现的最大次数的字符串是 " + max_str) ;}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java eclipse list
相关文章推荐