【发布时间】:2017-02-02 08:21:27
【问题描述】:
我有以下代码:
ArrayList<String> processed;
processed = new ArrayList<String>();
int biggest=0;
int w=0;
for (int i=0; i<list.size();i++) {
if(!processed.contains(list.get(i))) {
System.out.println(list.get(i) + ": " + Collections.frequency(list, list.get(i)));
processed.add(list.get(i));
}
}
for (int i1=0; i1<list.size();i1++) {
if ((Collections.frequency(list, list.get(i1)))> biggest) {
biggest=(Collections.frequency(list, list.get(i1)));
w=i1;
}
}
System.out.println();
System.out.println ("max == " + list.get(w));
输出是:
sorry: 4
bat: 1
train: 2
teddy: 2
ball: 2
max == sorry
我想从重复次数最多到最少对项目进行排序。我知道我可以使用Collections.Sort 对包含重复的数组进行排序。但是,如何将其与名称匹配?例如。如果我对数组进行了排序并且它变为[4, 2, 2, 2, 1] 我该如何打印:Sorry:4, Teddy: 2, Train: 2, Ball: 2, Bat:1
【问题讨论】:
-
您使用的是 Java 8 吗?
-
查找“按属性排序”
-
@RamachandranGA 是的
标签: java arrays string sorting arraylist