1准备数据
Person person =new Person();
person.setId(1).setAge(72).setSex("男");
Person person2 =new Person();
person2.setId(2).setAge(12).setSex("女");
Person person3 =new Person();
person3.setId(3).setAge(23).setSex("男");
List<Person> personList =new ArrayList<>();
personList.add(person);
personList.add(person2);
personList.add(person3);
2测试用例
/**
* 找出年龄大于10的人
* Person(age=12, sex=女)
* Person(age=23, sex=男)
*/
personList.stream().filter((x) -> x.getAge() > 10).forEach(System.out::println);
/**
*
* 过滤
* 排除掉性别为男的用户
* 输出 Person(age=12, sex=女)
*/
personList.stream().filter(a -> !a.getSex().equals("男")).forEach(System.out::println);
/**
* 年龄倒序排序
*输出:
* Person(id=1, age=72, sex=男)
* Person(id=3, age=23, sex=男)
* Person(id=2, age=12, sex=女)
*/
personList.stream().sorted(Comparator.comparing(Person::getAge).reversed()).forEach(System.out::println);
int sum = personList.stream().mapToInt(Person::getAge).sum();
OptionalInt max = personList.stream().mapToInt(Person::getAge).max();
OptionalInt min = personList.stream().mapToInt(Person::getAge).min();
System.out.println(max);
System.out.println(min);
System.out.println(sum);
/**
* map找出val值
* list转map
*/
Map<String, Object>map =new HashMap<>();
map.put("1","faker");
map.put("2","bang");
map.put("3","benji");
map.put("4","khan");
List<Object> collect = map.entrySet().stream().filter(x -> "benji".equals(x.getValue()))
.map(x -> x.getValue())
.collect(Collectors.toList());
System.out.println(collect);
Map<Integer, Person> personMap = personList.stream().collect(Collectors.toMap(Person::getId, a -> a, (k1, k2) -> k1));
personMap.forEach( (k,v)->{System.out.println(k+" "+v);} );