java lamda 按照字段 在 List<String> 位置进行排序
时间: 2024-05-07 11:23:43 浏览: 118
lamda表达式 part3
可以使用Java 8的Lambda表达式和Comparator接口来实现按照List中某个字段进行排序。例如,如果你有一个List<String>,其中每个字符串都包含一个数字和一个字符串,如"3 abc","1 def","2 ghi",你可以按照数字字段进行排序,如下所示:
```java
List<String> list = Arrays.asList("3 abc", "1 def", "2 ghi");
Collections.sort(list, (a, b) -> Integer.compare(Integer.parseInt(a.split(" ")[0]), Integer.parseInt(b.split(" ")[0])));
System.out.println(list); // 输出 [1 def, 2 ghi, 3 abc]
```
在这个例子中,我们使用Collections.sort()方法来对List进行排序。我们传递了一个Lambda表达式作为第二个参数,该Lambda表达式使用Comparator接口来比较两个字符串。Lambda表达式首先将字符串分割成数字和字符串部分,然后将数字部分转换为整数,并使用Integer.compare()方法进行比较。这样,List中的元素将按照数字部分进行排序。
阅读全文