Java 대소문자를 구분하지 않는 키가 있는 맵
1. 대소문자를 구분하지 않는 키가 있는 맵 하나의 항목이 있는 Map<String, Integer>가 있다. map.put("ABC", 2); 대소문자를 구분하는 키가 있는 맵으로 작업할 때 다음 두 항목으로 끝난다. 그러나 대소문자를 구분하지 않는 키가 있는 맵으로 작업할 때 내용은 다음과 같다. 다음 예제에서는 인기...
1. 대소문자를 구분하지 않는 키가 있는 맵 하나의 항목이 있는 Map<String, Integer>가 있다. map.put("ABC", 2); 대소문자를 구분하는 키가 있는 맵으로 작업할 때 다음 두 항목으로 끝난다. 그러나 대소문자를 구분하지 않는 키가 있는 맵으로 작업할 때 내용은 다음과 같다. 다음 예제에서는 인기...
1. 스트림 정렬 로직 여러 스레드에서 지속적으로 발생하는 이벤트 스트림이 있다고 가정한다. 마지막 60초의 이벤트와 60초보다 오래된 이벤트를 가져올 수 있어야 한다. 먼저 이벤트 데이터의 구조를 정의한다. public class Event { private ZonedDateTime eventTime; private String c...
1. ConcurrentMap ConcurrentMap은 Map 인터페이스의 확장이다. 스레드 안전성과 처리량을 조정하는 문제를 해결하기 위한 구조 및 지침을 제공하는 것을 목표로 한다. 여러 인터페이스 기본 메서드를 재정의함으로써 ConcurrentMap은 스레드 안전성 및 메모리 일관성 원자 작업을 제공하는 유효한 구현에 대한 지침을 제공한다. ...
1. Unmodifiable vs Immutable Unmodifiable Map은 modifiable Map에 대한 래퍼일 뿐이며 수정을 직접 허용하지 않는다. Map<String, String> mutableMap = new HashMap<>(); mutableMap.put("USA", "North America"); Ma...
1. 설정 요일에 플레이하는 스포츠와 요일을 매핑해야 하는 간단한 요구 사항이 있다. Monday Soccer Tuesday Basketball Wednesday Hiking Thursday Karate 이를 위해 enum을 사용할 수 있다. public enum DayOfWeek { MONDAY, TUESDAY, WE...
1. LinkedHashMap vs HashMap LinkedHashMap 클래스는 대부분의 측면에서 HashMap과 매우 유사하다. 그러나 링크된 해시맵은 해시맵의 기능을 향상시키기 위해 해시 테이블과 링크된 목록을 모두 기반으로 한다. 기본 크기 16의 기본 배열 외에도 모든 항목을 통해 실행되는 이중 연결 목록을 유지 관리한다. 요소의 순서를...
1. Hashtable을 사용하는 경우 Hashtable은 Java에서 가장 오래된 해시 테이블 데이터 구조 구현이다. HashMap은 JDK1.2에서 도입된 두 번째 구현이다. 각 단어에 정의가 있는 사전이 있다고 가정한다. 또한 사전에서 단어를 빠르게 가져오고, 삽입하고, 제거해야 한다. 따라서 Hashtable (또는 HashMap)이 의미...
1. RequestMapping 유연한 메서드 서명을 사용하여 요청 처리 클래스의 메서드에 웹 요청을 매핑하기 위한 주석이다. 이 주석은 클래스와 메서드 수준에서 모두 사용할 수 있다. 대부분의 경우 메서드 수준에서 응용 프로그램은 HTTP 메서드 특정 변형 @GetMapping, 또는 @PostMapping, @PutMapping, @DeleteM...
1.WeakHashMap 간단히 말해 WeakHashMap은 WeakReference 유형의 키를 사용하는 Map 인터페이스의 해시 테이블 기반 구현이다. WeakHashMap의 항목은 키가 더 이상 일반적으로 사용되지 않을 때 자동으로 제거된다. 즉, 해당 키를 가리키는 단일 참조가 없다. 가비지 수집(GC) 프로세스가 키를 폐기하면 해당 항목이 ...
1. 차이점 1) 구현 해시 테이블 기반 구현인 HashMap은 AbstractMap 클래스를 확장하고 Map 인터페이스를 구현한다. HashMap은 해싱 원칙에 따라 작동한다. 이 Map 구현은 일반적으로 버킷 해시 테이블 역할을 하지만 버킷이 너무 커지면 각각 java.util.TreeMap의 구조와 유사한 TreeNodes 노드로 변환된다. ...