toList()
作用:将一个容器转换为 List,允许重复值,有顺序
List<String> list = Arrays.asList("Hadoop", "Hive", "HDFS","Hadoop","scala");
List<String> listResult = list.stream().collect(Collectors.toList());
listResult.forEach(System.out::println);
toSet()
作用:将一个容器转换为 Set,不允许重复值,没有顺序
Stream<String> set = Stream.of("Hadoop", "Hive", "HDFS","Hadoop","scala");
Set<String> setResult = set.collect(Collectors.toSet());
setResult.forEach(System.out::println);
toMap()
作用:无序、以键值对的形式添加元素,键不能重复,值可以重复
首先创建一个Person对象
public class Person {
Integer id;
String name;
public Person(Integer id, String name) {
this.id = id;
this.name = name;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
List<Person> list = new ArrayList();
list.add(new Person(1, "Hadoop"));
list.add(new Person(2, "Hive"));
list.add(new Person(3, "HDFS"));
list.add(new Person(4,"scala"));
Map<Integer, String> map = list.stream().collect(Collectors.toMap(Person::getId, Person::getName));
System.out.println(map);