示例Set集合Set mySet = [ 1,2,3,4,5,6,7,8,9]
1、使用stream().filter()Set set1 = mySet.stream().filter(y -> y % 2 == 0).collect(Collectors.toSet())
Set set2 =mySet.stream().filter(y -> y % 2 != 0).collect(Collectors.toSet())
2、使用collect()和partitioningBy()Map< Boolean, Set > map =
mySet.stream().collect( Collectors.partitioningBy( y -> y % 2 == 0,
Collectors.toSet() ) );
Set odds = map.get(Boolean.TRUE);
Set evens = map.get(Boolean.FALSE);
3、使用for循环实现Set setEven = new HashSet<>();
Set setOdd = new HashSet<>();
for (Integer val : mySet) {
if (val % 2 == 0)
setEven.add(val);
else
setOdd.add(val);
}
//或者
for(Integer val : mySet) {
((val % 2 == 0) ? setEven : setOdd).add(val);
}