카테고리 없음

20240828 12일차

happyst 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) 반환. 조건식 표현에 사용됨.