定义如下数组int[] a= {1,2,3,4,5,6),int] b = {3,4,5,6,7,8],使用jdk8 新特性求数组ab的差集并按降序排列。
时间: 2023-11-19 14:49:07 浏览: 36
定义如下数组int[] a= {1,2,3,4,5,6),int] b = {3,4,5,6,7,8],使用jdk8 新特性求解数组a和数组b的差集并按降序排列的步骤如下:
1. 将数组a和数组b转换为集合,使用Arrays工具类的asList()方法可以实现这一步骤。
2. 使用stream()方法将集合转换为流。
3. 使用filter()方法过滤出数组a中不在数组b中的元素。
4. 使用sorted()方法对结果进行排序,传入Comparator.reverseOrder()可以实现降序排列。
5. 使用collect()方法将结果收集到一个新的列表中,使用Collectors.toList()可以实现这一步骤。
以下是具体的代码实现:
```java
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
int[] a = {1, 2, 3, 4, 5, 6};
int[] b = {3, 4, 5, 6, 7, 8};
List<Integer> difference = Arrays.stream(a)
.filter(num -> !Arrays.stream(b).boxed().collect(Collectors.toList()).contains(num))
.boxed()
.sorted(Comparator.reverseOrder())
.collect(Collectors.toList());
System.out.println("数组a和数组b的差集按降序排列为:" + difference);
}
}
```