본문 바로가기
728x90
반응형

Java45

Java WeakHashMap 이해하기 1. WeakHashMap란?WeakHashMap은 Java의 java.util 패키지에서 제공되는 Map 인터페이스의 구현체로, 키(key)에 대해 **약한 참조(Weak Reference)**를 사용하는 특징을 가집니다.이는 일반적인 HashMap과 달리, 가비지 컬렉터가 해당 키를 강한 참조(strong reference)가 아닌 약한 참조만 가지고 있는 경우 이를 수집(제거)할 수 있도록 설계되었습니다.  2. 왜 WeakHashMap을 사용할까?WeakHashMap은 다음과 같은 상황에서 유용합니다:캐시 데이터 관리:오래된 데이터나 더 이상 필요하지 않은 데이터를 자동으로 제거할 수 있어 메모리 누수를 방지할 수 있습니다.임시 데이터 관리:특정 객체의 라이프사이클 동안만 필요한 데이터를 관리하고.. 2024. 11. 25.
ArrayDeque: 효율적인 양방향 데이터 처리 ArrayDeque 는 Java에서 제공하는 **Deque(이중 끝 큐)**의 구현체 중 하나로, 양쪽 끝에서 삽입과 삭제가 가능하다는 특징을 가지고 있습니다. ArrayDeque는 단순히 스택이나 큐 역할을 넘어, 양방향으로 데이터를 처리할 수 있어 다양한 상황에서 유용하게 활용됩니다. 이번 글에서는 ArrayDeque의 특징, 장점, 주요 메서드, 그리고 실제 활용 사례를 통해 자세히 알아보겠습니다. 1. ArrayDeque란?ArrayDeque는 Deque 인터페이스를 구현한 클래스로, "Array" 기반으로 동작합니다. 이는 내부적으로 배열을 사용해 데이터를 관리하며, 다음과 같은 특징을 갖습니다:양방향 접근 가능: 앞쪽(addFirst)과 뒤쪽(addLast) 모두에서 삽입과 삭제가 가능.스택과.. 2024. 11. 22.
Java의 PriorityQueue: 우선순위 기반 큐 Java의 PriorityQueue는 우선순위에 따라 요소를 관리하고 처리하는 큐입니다. 일반적인 Queue와 달리, 입력 순서가 아닌 요소의 우선순위에 따라 가장 중요한 요소(우선순위가 높은 요소)를 먼저 처리합니다. 기본적으로 오름차순(낮은 값이 높은 우선순위)으로 정렬되지만, 커스터마이징된 Comparator를 사용하여 우선순위 기준을 설정할 수도 있습니다. PriorityQueue의 주요 특징우선순위 기반 정렬기본적으로 오름차순 정렬(숫자가 작을수록 높은 우선순위).문자열의 경우, 알파벳 순서에 따라 처리.커스터마이징 가능(예: 내림차순 정렬).Heap 자료구조 기반내부적으로 최소 힙(Min-Heap)을 사용하여 우선순위를 유지.요소를 삽입하거나 삭제하는 작업은 O(log n)의 시간 복잡도를 가.. 2024. 11. 21.
728x90
반응형