1、请⽤ lambda 表达式求出 List list 的最⼤ 10个数
时间: 2024-02-24 10:55:28 浏览: 75
可以使用以下代码来使用lambda表达式求出List list的最大10个数:
```
List<Integer> list = Arrays.asList(1, 3, 5, 7, 9, 2, 4, 6, 8, 10, 11, 12, 13, 14, 15);
List<Integer> result = list.stream().sorted(Comparator.reverseOrder()).limit(10).collect(Collectors.toList());
System.out.println(result);
```
输出结果为:[15, 14, 13, 12, 11, 10, 9, 8, 7, 6]
相关问题
Java用lambda表达式求出List(Integer)list中最大的10个数
可以使用Java 8中的Stream API和lambda表达式来实现:
```java
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
List<Integer> top10 = list.stream()
.sorted(Comparator.reverseOrder()) // 对列表进行降序排序
.limit(10) // 取前10个元素
.collect(Collectors.toList()); // 将结果转换为List
System.out.println(top10); // 输出[15, 14, 13, 12, 11, 10, 9, 8, 7, 6]
```
上述代码首先将List转换为Stream,然后使用sorted方法对Stream进行降序排序,接着使用limit方法取前10个元素,最后使用collect方法将结果转换为List并返回。
请用lambda表达式求出List<Integer>list的最大10个数 List<String> A=Arrays.asList("1","3","5","2","7"); List<String> B =Arrays.asList("1","6","4","2" "9");得到:resultA ={"3" "5" "7"} resultB = {"6" "4" "9"}
好的,针对第一个问题,可以使用如下lambda表达式来求出List<Integer> list的最大10个数:
```
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
List<Integer> top10 = list.stream()
.sorted(Comparator.reverseOrder())
.limit(10)
.collect(Collectors.toList());
System.out.println(top10);
```
上述lambda表达式首先将List<Integer> list转为Stream,然后使用sorted方法将其降序排序,接着使用limit方法获取前10个元素,最后使用collect方法将其转为List并返回。运行上述代码,可以得到List<Integer> list的最大10个数。
针对第二个问题,可以使用如下lambda表达式来实现:
```
List<String> A = Arrays.asList("1", "3", "5", "2", "7");
List<String> B = Arrays.asList("1", "6", "4", "2", "9");
List<String> resultA = A.stream()
.filter(B::contains)
.sorted()
.collect(Collectors.toList());
System.out.println(resultA);
List<String> resultB = B.stream()
.filter(A::contains)
.sorted()
.collect(Collectors.toList());
System.out.println(resultB);
```
上述lambda表达式首先使用filter方法过滤出两个List中相同的元素,然后使用sorted方法将其升序排序,接着使用collect方法将其转为List并返回。运行上述代码,可以得到List<String> A和List<String> B中相同的元素并排序后的结果。