本文主要是介绍Collectors.groupingBy 使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本文主要介绍一下lambda表达式中的Collectors.groupingBy的使用。
//groupingBy使用System.out.println("=======groupingBy==========");Stream<Person> stream = Stream.of(new Person("1", "aa", "12"), new Person("1", "bb", "13"), new Person("3", "cc", "14"));System.out.println(stream.collect(Collectors.groupingBy(x -> x.id)));//groupingByMap<String, List<Person>> tempMap = Stream.of(new Person("1", "aa", "12"), new Person("1", "bb", "13"), new Person("3", "cc", "14")).collect(Collectors.groupingBy(x -> x.id));for (String s : tempMap.keySet()) {tempMap.get(s).stream().forEach(x -> System.out.println(x));}Map<Boolean, List<Integer>> collectGroup = Stream.of(1, 2, 3, 4).collect(Collectors.groupingBy(it -> it > 3));System.out.println("collectGroup : " + collectGroup);
这里用到的Person类的代码:
class Person {String id;String name;String age;public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAge() {return age;}public void setAge(String age) {this.age = age;}public Person() {}public Person(String id, String name, String age) {this.id = id;this.name = name;this.age = age;}@Overridepublic String toString() {return "Person{" +"id='" + id + '\'' +", name='" + name + '\'' +", age='" + age + '\'' +'}';}
}
看一下运行结果:
这篇关于Collectors.groupingBy 使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!