ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JAVA8 공부 시작
    book/모던 자바 인 액션 2020. 7. 11. 00:26

    "모던 자바 인 액션" 이라는 책을 통해서 JAVA8을 공부하고자 한다.

    책을 읽어가면서 내가 이해한 내용들을 블로그에 작성하여 정리할 계획이다.

    우선 JAVA8의 변경 사항부터 살펴보자.

    1. 람다식

    : 함수를 따로 만들지 않고 매개변수와 실행문을 통해서 사용하는 방식이다.

    - 사용법

    (매개변수, ... ) -> { 실행문 ... }

    - 예제

    String[] strArr = {"5", "9", "3", "34", "30"};
    Arrays.sort(strArr, (o1, o2) -> 
            String.valueOf(Long.parseLong(o1+o2))
                        .compareTo(String.valueOf(Long.parseLong(o2+o1))));

    2. Stream API

    : JAVA에서는 데이터 저장을 위해 배열 또는 컬렉션(List, Map 등등)을 많이 사용한다. 그리고 이 데이터에 접근을 하기 위해선 반복문이나 iterator를 통해서 접근을 했어야만 했다.

    위의 방법들은 가독성도 떨어지고 장황한 코드가 될 가능성이 높다.

    이를 보완하기 위한 Stream API는 데이터를 추상화해서 간결하게 컬렉션의 데이터를 처리할 수 있다.

    - 예제

    int[] res = {1,2,3,4,5};
    int max = Arrays.stream(res)
                    .max()
                    .getAsInt();
    return (int) Arrays.stream(res)
                        .filter(i -> i == max)
                        .count();

    3. java.time 패키지

    : JDK 1.0에서는 Date 클래스를 사용하여 날짜에 관한 연산을 수행했으나 현재의 Date 클래스의 대부분의 메소드는 윤초와 같은 특수한 상황을 고려하지 않음, 월(month)을 나타내는 정수가 불편함 등의 이유로 사용을 권장하지 않는다.

    java.time 패키지는 위의 문제점들의 모두 보완할 뿐만 아니라 다양한 기능까지도 지원하는 하위 패키지를 포함한다.

    - 예제

    LocalDate today = LocalDate.now();
    LocalDate of = LocalDate.of(2020, 07, 11);

     

     

    재호 화이팅!

Designed by Tistory.