根据第一个元素对 List<String[]> 进行排序

Сер*_*шев -3 java arrays sorting collections

我有一个字符串数组的链表。

List<String[]> list = new LinkedList<>();
Run Code Online (Sandbox Code Playgroud)

此列表的每个元素都包含以下形式的元素:

["word1", "example1", "2"]
Run Code Online (Sandbox Code Playgroud)

如何按每个数组字典中的第一个字符串元素对列表进行排序?

And*_*eas 5

您需要提供一个Comparator比较数组的第一个值。

list.sort(Comparator.comparing(a -> a[0]));
Run Code Online (Sandbox Code Playgroud)

测试

List<String[]> list = new LinkedList<>();
list.add(new String[] { "word1", "example1", "2" });
list.add(new String[] { "ahead", "invention", "3" });
list.add(new String[] { "sip", "nerve", "4" });

list.sort(Comparator.comparing(a -> a[0]));

list.forEach(a -> System.out.println(Arrays.toString(a)));
Run Code Online (Sandbox Code Playgroud)

输出

[ahead, invention, 3]
[sip, nerve, 4]
[word1, example1, 2]
Run Code Online (Sandbox Code Playgroud)