java8 stream().forEach、stream().map、stream().filter、stream().sortedの違いと使い方
3513 ワード
List list = new ArrayList<>();
list.add(Teacher.builder().age(28).name(" ").build());
list.add(Teacher.builder().age(27).name(" ").build());
list.add(Teacher.builder().age(29).name(" ").build());
//
list.stream().forEach(teacher -> {
if (" ".equals(teacher.getName())) {
Address address = Address.builder().address(" ").build();
teacher.setAddress(address);
}
});
System.out.println(" List:" + list);
// ,
List listCopy = list.stream().map(teacher -> {
if (" ".equals(teacher.getName())) {
Address address = Address.builder().address(" ").build();
teacher.setAddress(address);
}
return teacher;
}).collect(Collectors.toList());
System.out.println(" List:" + listCopy);
//
List listFilter = list.stream().filter(
teacher -> AllTypeUtils.isNotEmptyAndNotNull(teacher.getAddress()
)).collect(Collectors.toList());
System.out.println(" List:" + listFilter);
// : ( )
List listSortedAsc1 = list.stream().sorted(Comparator.comparing(Teacher::getAge)
).collect(Collectors.toList());
System.out.println(" List:" + listSortedAsc1);
// : ( )
List listSortedAsc2 = list.stream().sorted((teacher1, teacher2) -> {
return teacher1.getAge().compareTo(teacher2.getAge());
// :Comparator.comparing(Teacher::getAge)
}
).collect(Collectors.toList());
System.out.println(" List:" + listSortedAsc2);
// : ( )
List listSortedDesc = list.stream().sorted(Comparator.comparing(Teacher::getAge).reversed()
).collect(Collectors.toList());
System.out.println(" List:" + listSortedDesc);
// : ( )
List listSortedDesc2 = list.stream().sorted((teacher1, teacher2) -> {
return teacher2.getAge().compareTo(teacher1.getAge());
}
).collect(Collectors.toList());
System.out.println(" List:" + listSortedDesc2);
List:[Teacher(name= , age=28, address=null), Teacher(name= , age=27, address=null), Teacher(name= , age=29, address=Address(address= ))]
List:[Teacher(name= , age=28, address=null), Teacher(name= , age=27, address=null), Teacher(name= , age=29, address=Address(address= ))]
List:[Teacher(name= , age=29, address=Address(address= ))]
List:[Teacher(name= , age=27, address=null), Teacher(name= , age=28, address=null), Teacher(name= , age=29, address=Address(address= ))]
List:[Teacher(name= , age=27, address=null), Teacher(name= , age=28, address=null), Teacher(name= , age=29, address=Address(address= ))]
List:[Teacher(name= , age=29, address=Address(address= )), Teacher(name= , age=28, address=null), Teacher(name= , age=27, address=null)]
List:[Teacher(name= , age=29, address=Address(address= )), Teacher(name= , age=28, address=null), Teacher(name= , age=27, address=null)]