[JAVA8] API의 기본 메소드와 스태틱 메소드 2

이재훈·2023년 5월 4일
0

JAVA8

목록 보기
4/23

인프런 강의 "더 자바, JAVA8"(백기선님)의 강의를 듣고 정리한 글 입니다.
JAVA8에 추가된 핵심 기능들을 이해하기 쉽게 설명해 주시니 한번씩 들어보시는 것을 추천드립니다.

"더 자바, JAVA8 바로가기"


자바 8에서 추가한 메소드로 인한 API 변화

Iterable의 기본 메소드

  • forEach()
public class App {

    public static void main(String[] args) {
        List<String> names = new ArrayList<>();
        names.add("jay");
        names.add("keesun");
        names.add("foo");

        names.forEach(System.out::println); // 모든 요소 출력
    }
}
  • spliterator() : 쪼개는 기능을 가지고 있습니다.
public class App {

    public static void main(String[] args) {
        List<String> name = new ArrayList<>();
        name.add("jay");
        name.add("keesun");
        name.add("foo");

        Spliterator<String> spliterator1 = name.spliterator();
        Spliterator<String> spliterator2 = spliterator1.trySplit();
        while (spliterator1.tryAdvance(System.out::println));
        System.out.println("============");
        while (spliterator2.tryAdvance(System.out::println));
    }
}

출력 값 
keesun
foo
============
jay

Collection의 기본 메소드

  • stream() / parallelStream()
  • removeIf(Predicate)
public class App {

    public static void main(String[] args) {
        List<String> name = new ArrayList<>();
        name.add("jay");
        name.add("keesun");
        name.add("foo");

        name.removeIf(s -> s.startsWith("k")); // k로 시작하는 요소 삭제
        System.out.println(name);
    }
}
  • spliterator()

Comparator의 기본 메소드 및 스태틱 메소드

  • reversed()
public class App {

    public static void main(String[] args) {
        List<String> name = new ArrayList<>();
        name.add("jay");
        name.add("keesun");
        name.add("foo");
        
        Comparator<String> compareToIgnoreCase = String::compareToIgnoreCase;
        name.sort(compareToIgnoreCase.reversed()); // 대소문자 구분없이 역정렬

        System.out.println(name);
    }
}
  • thenComparing()
  • static reverseOrder() / naturalOrder()
  • static nullsFirst() / nullsLast()
  • static comparing()
profile
부족함을 인정하고 노력하자

0개의 댓글