public static void main(String[] args) {
List<Integer> list1 = Arrays.asList(1, 2, 3);
List<Integer> list2 = Arrays.asList(4, 5, 6);
List<Integer> list3 = Arrays.asList(7, 8, 9);
List<Integer> mergedList = Stream.of(list1, list2, list3).flatMap(Collection::stream).collect(Collectors.toList());
System.out.println(mergedList);// [1, 2, 3, 4, 5, 6, 7, 8, 9]
}
其余干货
1、一个集合根据主键msisdn去重,得到一个新的集合
List<Card> newList = list.stream().collect(Collectors.collectingAndThen(
Collectors.toCollection(() ->new TreeSet<>(Comparator.comparing(Card::getMsisdn))),
ArrayList::new));
2、获取一个集合中,某个对象指定属性的集合
List<Long> msisdnList = kqCardList.stream().map(KqCard::getMsisdn).collect(Collectors.toList());
3、将一个long类型的集合转换为String类型的集合
List<String> msisdnStrList = msisdnList.stream().map(String::valueOf).collect(Collectors.toList());
4、遍历一个集合中,对每个对象的指定属性进行赋值(这里我对每个对象赋值了三个参数,最后一个是使用UUID做主键)
List<CmiDataAmount> cmiDataAmountList = cmiDataAmountList.stream().map(
cmiDataAmount ->{cmiDataAmount.setCreateTime(createTime);
cmiDataAmount.setCurrentMonth(currentMonth);
cmiDataAmount.setId(UUID.randomUUID().toString());
}).collect(Collectors.toList());
5、将String类型的字符串(比如用“,”分割)转换为集合
List<String> msisdnsList = Arrays.asList(msisdns.split(",")).stream().
map(s -> String.format(s.trim())).collect(Collectors.toList());
1
2
3
6、遍历集合,获取类型为A的元素,并放入新集合
List<CmiDataAmount> list = cmiDataAmountList.stream().
filter(item -> item.getType().equals("A")).
collect(Collectors.toList());
7、取list集合中的两个元素,转换为一个map
Map<Integer, String> collect = list.stream().
collect(Collectors.toMap(Student::getAge, Student::getName));
8、如何将一个元素(对象、属性等)优雅的转换为一个集合
List<K> authcChannels = Stream.of(K).collect(Collectors.toList());