stream
Map<Integer, Student> list = list.parallelStream()
.collect(Collectors.toMap(Object::getId, r -> r, (k1, k2) -> k1))
.values();
List<String> stringList = Stream.of("a-b-c-d", "e-f-g-h").flatMap(v -> Stream.of(v.split("-"))).collect(Collectors.toList());
List<String> stringList = list1.stream()
.flatMap(v -> list2.stream().map(s -> s))
.collect(Collectors.toList());
String str2 = list.stream().collect(Collectors.joining(","));
Map<Integer, Student> map = list.stream().collect(Collectors.toMap(Student::getId, student -> student));
Map<Integer, String> map = list.stream().collect(Collectors.toMap(Student::getId, Student::getName));
Map<Integer,String> map = list.stream().collect(
Collectors.toMap(Student::getAge,Student::getName,
(key1,key2)-> key1+","+key2));
Map<Integer,List<String>> map = list.stream().collect(
Collectors.toMap(Student::getAge, p -> {
List<String> values = new ArrayList<>();
values.add(p.getName());
return values;
},(List<String> value1,List<String> value2)->{
value1.addAll(value2);
return value1;
}));