본문으로 건너뛰기
김신건의 로그

[Java] ConcurrentSkipListSet

· 수정 · 📖 약 1분 · 117자/단어 #java #concurrent #set #skip-list #sorted
ConcurrentSkipListSet, java.util.concurrent.ConcurrentSkipListSet, concurrent sorted set

정의

java.util.concurrent.ConcurrentSkipListSet<E>ConcurrentSkipListMap 을 백킹으로 사용하는 정렬된 thread-safe Set. TreeSet 의 동시성 버전.

NavigableSet 인터페이스 구현. floor, ceiling, subSet 등 정렬 기반 연산 제공.

복잡도

ConcurrentSkipListMap 의 성질.

작업평균
add, remove, containsO(log n)
first, last, floor, ceilingO(log n)
sizeO(n), 부정확

사용 예

NavigableSet<Integer> sorted = new ConcurrentSkipListSet<>();
sorted.add(10); sorted.add(20); sorted.add(30);

sorted.floor(15);                // 10
sorted.ceiling(15);              // 20
sorted.subSet(10, 30);           // [10, 30)

HashSet / TreeSet / ConcurrentSkipListSet

항목HashSetTreeSetConcurrentSkipListSet
시간O(1)O(log n)O(log n)
정렬
Thread-safe
Range 쿼리

참고

이 글의 용어 (6개)
[Java] Collectionjava
정의 는 그룹으로 묶인 객체들을 표현하는 최상위 인터페이스. JCF (Java Collections Framework) 의 입구이자, / / / 모두 이를 확장한다. 자체는 직접…
[Java] ConcurrentSkipListMapjava
정의 는 Skip List 기반의 thread-safe 정렬 . 의 동시성 버전. 과의 결정적 차이: 정렬 순서를 유지 + 인터페이스 구현 ( , , 등). Skip List 는…
[Java] Iterablejava
정의 는 루프로 순회 가능한 모든 타입의 최상위 인터페이스. 단 하나의 추상 메서드, 를 정의한다. 인터페이스가 을 extends 하므로 , , , 등 모든 컬렉션이 자동으로 대…
[Java] Objectjava
정의 는 Java 의 모든 클래스의 최상위 부모 (root) 클래스. 가 명시되지 않은 클래스는 컴파일러가 자동으로 를 붙인다. 인터페이스는 클래스가 아니라 를 직접 상속하지는 …
[Java] TreeSetjava
정의 는 을 백킹으로 사용하는 정렬된 . 인터페이스를 구현해 정렬 기반 연산 ( , , 등) 을 제공. 원소는 (자연 순서) 또는 생성자에 전달한 로 정렬. 핵심 메서드 (Nav…
집합과 맵 (Set and Map)algorithm
정의 집합 (Set) 은 고유한 원소들의 모임을 나타내는 추상 자료구조로, 멤버십 검사, 삽입, 삭제를 지원한다. 맵 (Map, Dictionary) 은 키-값 쌍을 저장하며, …

이 개념을 다룬 위키 페이지 (2)

💬 댓글

사이트 검색 / 명령어

검색

스크롤 = 확대/축소 · 드래그 = 이동 · 0 = 원래 크기 · ESC = 닫기