对ArrayList <string []>进行排序

时间:2015-05-08 02:43:58

标签: java sorting arraylist

我有一个具有以下语法的数组:

ArrayList<String[]> outerArr = new ArrayList<String[]>();
String[] str = {art1, art2, String.valueOf(sim)};
outerArr.add(str);

在某些循环和更改后,我得到类似的内容:

name1 name2 0.11
name1 name3 0.14
name2 name4 0.12

我需要按第三列对它们进行排序。怎么可能实现?

2 个答案:

答案 0 :(得分:1)

预先警告这将按字典顺序进行比较 - 也就是说,如果您有数字1.0,2.0,10.0,11.0和20.0,则订单将为1.0,10.0,11.0,2.0和20.0。

这是Java 8中使用简单Comparator的一种非常基本的方法。请注意,这不会检查任何一方是否为空。

Comparator<String[]> stringArrayComparator = (left, right) ->
                         left[2].compareTo(right[2]);

然后您可以在Collections.sort

中使用此功能
Collections.sort(outerArr, stringArrayComparator);

答案 1 :(得分:0)

您可以使用Column Comparator这是一个通用Comparator,允许您指定要排序的列。

ColumnComparator将处理存储在数组或列表中的数据。

如果您不想使用该类,博客还会显示如何创建简单的Comparator for a given column in the数组。