我有一个像这样的数据集合:
@highest_count_words_across_lines = @analyzers.select do |analyzer|
analyzer.highest_wf_count == @highest_count_across_lines
end
我将每个单词分割,将其添加到数组中并得到:
John eats candy
Richard runs around in the morning
Hannah drinks water
输出应为(第二个单词按字母顺序排序)
[John, eats, candy]
[Richard, runs, around, in, the, morning]
[Hannah, drinks, water]
这是我的代码:
[Hannah, drinks, water]
[John, eats, candy]
[Richard, runs, around, in, the, morning]
但是我不知道下一步该怎么做。如何进行元素比较,并以此为基础替换行。 将字符串分成数组以访问第二个元素完全正确吗? 即使您只提供一些建议,我也会很高兴。
答案 0 :(得分:5)
第一次尝试时,您可以写一个Comparator
:
class ListComparator implements Comparator<List<String>> {
@Override
public int compare(List<String> o1, List<String> o2) {
return o1.get(1).compareTo(o2.get(1));
}
}
mainList.sort(new ListComparator());
在Java-8中,可以简化为:
mainList.sort(Comparator.comparing(strings -> strings.get(1))); // compare using the second element(index 1) of every list