首页 > 解决方案 > Java 对 ArrayList 中的 ArrayList 进行排序

问题描述

我在对包含 ArrayLists 的 ArrayList 进行排序时遇到了一些问题

ArrayList<ArrayList<String>> multiMarkArray = new ArrayList<ArrayList<String>>();

String line;
while ((line = bufRdr.readLine()) != null) {
    ArrayList<String> singleMarkArray = new ArrayList<String>();
    for (String word : line.split(" ")) {
        singleMarkArray.add(word);
    }
    Collections.swap(singleMarkArray, 0, 1);
    multiMarkArray.add(singleMarkArray);
}

Collections.sort(multiMarkArray);
System.out.println(multiMarkArray);

我收到错误Collections cannot be applied to (java.util.ArrayList>)

有人可以指出我解决这个问题的正确方向吗?

谢谢

标签: javaarraylistcollections

解决方案


如果你想对包含在multiMarkArray你应该做的所有列表进行排序

for (ArrayList<String> strings : multiMarkArray) {
       Collections.sort(strings);
}

代替

Collections.sort(multiMarkArray);

这将对每个列表中的字符串进行排序。但是列表的排序multiMarkArray不会受到影响。


推荐阅读