java 将一个list集合数据存放到两个set集合中
时间: 2024-02-09 22:13:38 浏览: 93
假设需要将一个List集合中的数据存放到两个Set集合中,可以使用Java 8中的Stream API和Lambda表达式来实现。下面是一个例子:
```java
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6);
Set<Integer> set1 = new HashSet<>();
Set<Integer> set2 = new HashSet<>();
list.stream().forEach(i -> {
if (i % 2 == 0) {
set1.add(i);
} else {
set2.add(i);
}
});
System.out.println("set1: " + set1); // 输出: set1: [2, 4, 6]
System.out.println("set2: " + set2); // 输出: set2: [1, 3, 5]
```
这段代码中,通过`list.stream()`将List集合转换为一个Stream流,然后通过`forEach()`方法遍历Stream中的每个元素。在Lambda表达式中,判断元素的奇偶性,将偶数放到`set1`中,将奇数放到`set2`中。最后输出两个Set集合中的元素。
相关问题
java 将一个list集合数据存放到两个set集合中 list有数据为null停止循环
假设需要将一个List集合中的数据存放到两个Set集合中,同时需要在List中遇到`null`元素时停止循环,可以使用Java 8中的Stream API和Lambda表达式来实现。下面是一个例子:
```java
List<Integer> list = Arrays.asList(1, 2, 3, null, 4, 5, 6);
Set<Integer> set1 = new HashSet<>();
Set<Integer> set2 = new HashSet<>();
list.stream().takeWhile(Objects::nonNull).forEach(i -> {
if (i % 2 == 0) {
set1.add(i);
} else {
set2.add(i);
}
});
System.out.println("set1: " + set1); // 输出: set1: [2]
System.out.println("set2: " + set2); // 输出: set2: [1, 3, 5]
```
这段代码中,通过`list.stream()`将List集合转换为一个Stream流,然后使用`takeWhile()`方法获取Stream中的元素,当遇到`null`元素时停止循环。在Lambda表达式中,判断元素的奇偶性,将偶数放到`set1`中,将奇数放到`set2`中。最后输出两个Set集合中的元素。需要注意的是,由于使用了`takeWhile()`方法,`set1`中只包含了第一个偶数元素2,后面的偶数元素4和6并没有被添加到`set1`中。
java创建一个集合,里面存放 2 3 5 3 10 5 9 对这个集合去重,并输出
在Java中,我们可以使用HashSet或TreeSet来创建一个集合并自动去除重复元素。这两个集合都是不允许有重复值的。这里我们先创建一个ArrayList,因为ArrayList允许重复元素,然后转换成HashSet以去重。
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
// 创建一个包含重复元素的ArrayList
List<Integer> list = new ArrayList<>();
list.add(2);
list.add(3);
list.add(5);
list.add(3); // 第二个3
list.add(10);
list.add(5); // 又一个5
list.add(9);
// 使用HashSet去重
Set<Integer> set = new HashSet<>(list);
// 输出去重后的集合
System.out.println("去重后的集合: " + set);
// 或者转换回List打印
// List<Integer> uniqueList = new ArrayList<>(set);
// System.out.println("转换为List后的去重集合: " + uniqueList);
}
}
```
运行上述代码后,你会看到输出类似这样的结果:
```shell
去重后的集合: [2, 3, 5, 10, 9]
```
阅读全文