//java 求一个list集合中出现次数最多的一项,和此项的出现次数
//效率很高的统计方法。利用正则表达式统计
@Test
public void st() {
String regex;
Pattern p;
Matcher m;
List<String> list = new ArrayList();
list.add("aa");
list.add("aa");
list.add("aa");
list.add("aa");
list.add("bb");
list.add("bb");
list.add("cc");
list.add("cc");
list.add("dd");
list.add("ed");
String tmp = "";
String tot_str = list.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 : list) {
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 + " 出现的最大次数:"+ max_cnt) ; //字符串 aa 出现的最大次数:4
}
java 求一个list集合中出现次数最多的一项,和此项的出现次数
最新推荐文章于 2022-07-01 16:40:09 发布