Java Set 컬렉션 심층 분석

Set 계열 컬렉션 특성 Set 인터페이스는 Collection 계층구조에서 유일성과 순서 제어를 제공합니다. 주요 구현체별 특징: public class SetExample { public static void main(String[] args) { // HashSet: 순서 없음, 중복 불가 // Set<String> items = new HashSet<>(); // LinkedHashSet: 삽입 순서 유지 ...

7월 5일 19:34에 게시됨

C++ 연관 컨테이너 std::set과 std::map의 활용

std::set: 유일한 요소의 정렬된 집합 std::set은 중복을 허용하지 않는 키(Key)들의 집합을 관리하는 컨테이너입니다. 내부적으로 주로 레드-블랙 트리(Red-Black Tree) 구조로 구현되어 있어, 삽입, 삭제, 탐색 작업 시 O(log N)의 시간 복잡도를 보장합니다. 만약 중복된 값을 허용해야 한다면 std::multiset을 대신 사용하면 됩니다. 주요 제어 메서드 ...

6월 27일 05:56에 게시됨

Java 컨테이너 클래스 핵심 정리

컨테이너는 객체를 저장하는 데이터 구조를 의미합니다. 자바에서는 객체를 효율적으로 관리하기 위한 다양한 컨테이너 클래스를 java.util 패키지에서 제공합니다. 1. 컨테이너 계층 구조 컨테이너 API는 Collection과 Map 인터페이스로 구분됩니다. Collection은 단일 객체 저장을, Map은 키-값 쌍 저장을 처리합니다. Collection은 다시 Set(중복 불가, 순서 없음)과 ...

6월 19일 18:19에 게시됨

자바스크립트 데이터 구조 활용 가이드: Map과 Set의 고급 기법

Map과 Set의 핵심 활용 패턴 현대 자바스크립트에서 데이터 처리를 효율화하는 두 가지 주요 컬렉션 타입인 Map과 Set에 대해 심층적인 이해를 제공합니다. Map 객체 생성 및 기본 동작 // 초기화 방법 const keyValueStore = new Map(); console.log(keyValueStore.size); // 0 // 배열로 초기화 const userDataMap = new Map([ ['fullName', 'Jane'], ['age', 28 ...

6월 12일 23:44에 게시됨

안드로이드 컬렉션 프레임워크: List, Set, Map 활용법

안드로이드 개발 시 자주 사용되는 데이터 구조로는 List, Set, Map이 있습니다. 이들은 객체들을 효율적으로 관리하고 접근하는 데 필수적입니다. List와 Set은 'Collection' 인터페이스를 상속받으며, List는 데이터 중복을 허용하는 반면 Set은 고유한 데이터만 저장합니다. Map은 키(key)와 값(value)의 쌍으로 데이터를 저장하는 구조이며, HashMap이 대표적인 예입니 ...

6월 10일 19:37에 게시됨

C++ 핵심 개념 정리: 포인터, STL 컨테이너 및 활용법

C++ 학습 시 자주 사용되는 핵심 개념들을 코드 예제와 함께 정리합니다. 기본 입출력 및 배열 초기화 #include <iostream> #include <algorithm> #include <cstring> using namespace std; const int N = 110; int d[N]; // 전역 변수 int main() { int n; cin >> n; cout << n * 2 << endl; // memset을 사용한 ...

6월 9일 01:15에 게시됨

집합(Set) 자료구조와 배열의 차이점

집합(Set)은 고유한 값만을 저장하는 자료구조로, 배열과 유사하지만 중요한 차이점을 가지고 있습니다. 집합과 배열의 주요 차이점 고유성: 집합은 중복 값을 허용하지 않아 자동으로 중복 제거 기능을 제공합니다. 반면 배열은 동일한 값을 여러 번 포함할 수 있습니다. 정렬 여부: 집합은 요소의 순서를 보장하지 않는 반면, 배열은 삽입된 순서를 유지합니다. 성능 특 ...

6월 6일 02:55에 게시됨

C++로 구현하는 LRU 캐시 시뮬레이션

캐시 시뮬레이션 문제는 메모리 계층 구조의 핵심 개념을 검증하는 대표적인 알고리즘 문제입니다. 이 글에서는 C++를 활용해 집합-연관 매핑 방식의 캐시를 모델링하고, LRU(Least Recently Used) 교체 정책을 적용하는 방법을 살펴봅니다. 문제 개요 주어진 메모리 주소 스트림에 대해 캐시 히트/미스를 판정하고, 미스 발생 시 LRU 알고리즘으로 블록을 교체해야 합니 ...

5월 29일 10:03에 게시됨