public static void main(String[] args) { ArrayList<String> strList = new ArrayList<>(); strList.add("test1"); strList.add("test2"); strList.add("test3"); strList.add("test4"); strList.add("test5"); //strList.forEach(Consumer<? super String> action) strList.forEach((s) ->{ System.out.println("forEach : " + s); }); //메서드 레퍼런스 strList.forEach(System.out::println); // 출력 // forEach : test1 // forEach : test2 // forEach : test3 // forEach : test4 // forEach : test5 // test1 // test2 // test3 // test4 // test5 // 쪼갤수 있는 기능을 가진 iterator Spliterator<String> spliterator = strList.spliterator(); // List를 Spliterator로 변환한 것을 절반으로 나눈다. Spliterator<String> spliterator1 = spliterator.trySplit(); Spliterator<String> spliterator2 = spliterator.trySplit(); // hasNext가 아닌 tryAdvance while(spliterator.tryAdvance(System.out::println)); System.out.println("============================="); while(spliterator1.tryAdvance(System.out::println)); System.out.println("============================="); while(spliterator2.tryAdvance(System.out::println)); // 출력 (spliterator가 2개일 때) // test3 // test4 // test5 // ============================= // test1 // test2 // 출력 (spliterator가 3개일 때) // test4 // test5 // ============================= // test1 // test2 // ============================= // test3 }
spliterator를 사용하고 있다.
ArrayList<String> strList2 = new ArrayList<>(); strList2.add("test1"); strList2.add("test2"); strList2.add("test3"); strList2.add("test3"); strList2.add("test4"); long cnt = strList2.stream().map(String::toUpperCase) .filter(s -> s.endsWith("3")) .count(); System.out.println(cnt); // 출력 // 2 strList2.removeIf(s -> s.endsWith("4")); strList2.forEach(System.out::println); // 출력 // test1 // test2 // test3 // test3
ArrayList<String> strList3 = new ArrayList<>(); strList3.add("test1"); strList3.add("tEst2"); strList3.add("teSt3"); strList3.add("TEST3"); strList3.add("TesT4"); // compareToIgnoreCase - 대소문자 무시 strList3.sort(String::compareToIgnoreCase); strList3.forEach(System.out::println); System.out.println("============================="); Comparator<String> compareToIgnoreCase = String::compareToIgnoreCase; strList3.sort(compareToIgnoreCase.reversed()); strList3.forEach(System.out::println); // 출력 // test1 // tEst2 // teSt3 // TEST3 // TesT4 // ============================= // TesT4 // teSt3 // TEST3 // tEst2 // test1
참고
https://docs.oracle.com/javase/8/docs/api/java/util/Spliterator.html https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html
더 자바, Java 8 - 인프런
자바 8에 추가된 기능들은 자바가 제공하는 API는 물론이고 스프링 같은 제 3의 라이브러리 및 프레임워크에서도 널리 사용되고 있습니다. 이 시대의 자바 개발자라면 반드시 알아야 합니다. 이
www.inflearn.com
[JAVA8] API의 기본 메서드와 스태틱 메서드
자바 8에서 추가한 기본 메서드로 인한 API 변화
Iterable의 기본 메서드
Collection의 기본 메서드
Comparator의 기본 메서드 및 스태틱 메서드
참고
https://docs.oracle.com/javase/8/docs/api/java/util/Spliterator.html https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html
더 자바, Java 8 - 인프런
자바 8에 추가된 기능들은 자바가 제공하는 API는 물론이고 스프링 같은 제 3의 라이브러리 및 프레임워크에서도 널리 사용되고 있습니다. 이 시대의 자바 개발자라면 반드시 알아야 합니다. 이
www.inflearn.com
'기록 > JAVA' 카테고리의 다른 글