ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 20240828 12일차
    카테고리 없음 2024. 8. 28. 17:29

    [Set 컬렉션]
    - 순서 X, 중복 X 객체 저장
    - 인덱스가 없어서 저장 순서를 무시함

    [Map 인터페이스]
    - 순서 X
    - key-value 쌍으로 구성된 객체 저장
    - key, value 둘 다 객체
    - key는 중복 X
    - Map 객체에 같은 key로 중복 저장되지 않도록 하려면 Set 객체처럼 key로 사용할 클래스에 대한 hashCode( )와 equals( ) 메서드의 오버로딩이 필요함

    - HashMap과 Hashtable
      * Hashtable은 HashMap과 달리 동기화된 메서드로 구현되어 스레드에 안전
      * HashMap에서는 key-value로 null을 사용할 수 있음 (Hashtable은 안됨)



    [Collections]
    - Collection을 다루는 다양한 메서드를 제공하는 java.util 패키지의 클래스
    - Collection 원소 정렬, 섞기, 탐색 등의 기능 제공

    =============== CollectionsDemo.java (원본 배열 변경 반영)

    [Lambda]
    - 함수(method)를 간단한 식(expression)으로 표현하는 방법
    - 익명 함수 (anonymous function)
    - 함수 vs 메서드
      * 함수는 일반적 용어, 메서드는 객체지향개념 용어
      * 함수는 클래스에 독립적, 메서드는 클래스에 종속적

    - 함수 -> 람다식 변환 예시
      * 함수
    int max(int a, int b) {
    return a > b ? a : b;
    }

      * 람다식
    (a,b) -> a > b ? a : b

    [람다식]
    - 람다식은 익명 클래스의 익명 클래스(메서드) 임
    - 람다식을 다루기 위한 참조변수가 필요함
    - 메서드와 달리 이름이 없음
    - 특정 클래스에 종속되지 않지만 매개변수, 반환 타입, 본체를 가짐. 예외 처리도 가능.


    - 함수형 인터페이스
      * 단 하나의 추상 메서드만 선언된 인터페이스
      * 디폴트 메서드와 정적 메서드는 함수형 인터페이스의 추상 메서드로 간주되지 않음
      * 함수형 인터페이스 타입의 참조변수로 람다식을 참조할 수 있음 (override해서 사용)

    - 함수형 인터페이스 종류
      * Supplier<T> : 매개변수 X, 반환값 O
      * Consumer<T> : 매개변수 O, 반환값 O
      * Function<T, R> : 매개변수 1개, 결과 반환
      * Predicate<T>: 매개변수 1개, 결과(boolean) 반환. 조건식 표현에 사용됨.

Designed by Tistory.