forked from whiteship/java8
-
Notifications
You must be signed in to change notification settings - Fork 0
Stream API
Jeonghyun Kang edited this page May 15, 2022
·
1 revision
// 스프링 수업
List<OnlineClass> springClasses = new ArrayList<>();
springClasses.add(new OnlineClass(1, "spring boot", true));
springClasses.add(new OnlineClass(2, "spring data jpa", true));
springClasses.add(new OnlineClass(3, "spring mvc", false));
springClasses.add(new OnlineClass(4, "spring core", false));
springClasses.add(new OnlineClass(5, "rest api development", false));
// 자바 수업
List<OnlineClass> javaClasses = new ArrayList<>();
javaClasses.add(new OnlineClass(6, "The Java, Test", true));
javaClasses.add(new OnlineClass(7, "The Java, Code manipulation", true));
javaClasses.add(new OnlineClass(8, "The Java, 8 to 11", false));
// 모든 수업
List<List<OnlineClass>> keesunEvents = new ArrayList<>();
keesunEvents.add(springClasses);
keesunEvents.add(javaClasses);System.out.println("spring 으로 시작하는 스프링 수업");
springClasses.stream()
.filter(oc -> oc.getTitle().startsWith("spring"))
.forEach(oc -> System.out.println(oc.getId()));springClasses.stream()
.filter(Predicate.not(OnlineClass::isClosed))
.forEach(oc -> System.out.println(oc.getId()));springClasses.stream()
.map(OnlineClass::getTitle)
.forEach(System.out::println);keesunEvents.stream()
.flatMap(Collection::stream)
.map(OnlineClass::getId)
.forEach(System.out::println);Stream.iterate(10, i -> i+1)
.skip(10)
.limit(10)
.forEach(System.out::println);boolean test = javaClasses.stream()
.anyMatch(oc -> oc.getTitle().contains("Test"));
System.out.println(test);List<String> spring = springClasses.stream()
.filter(oc -> oc.getTitle().contains("spring"))
.map(OnlineClass::getTitle)
.collect(Collectors.toList());
System.out.println(spring);