▣ Java_소스코드_자료구조형 클래스의 상속구조, list, map, set, collection

Class | Base Class | Base Interface | 중복 | 순서 | 정렬 | Thread-safe |
ArrayList | AbstractList | List | Yes | Yes | No | No |
LinkedList | AbstractSequentialList | List;Deque | Yes | Yes | No | No |
Vector | AbstractList | List | Yes | Yes | No | Yes |
HashSet | AbstractSet | Set | No | No | No | No |
LinkedHashSet | HashSet | Set | No | Yes | No | No |
TreeSet | AbstractSet | Set;NavigableSet;SortedSet | No | Yes | Yes | No |
HashMap | AbstractMap | Map | No | No | No | No |
LinkedHashMap | HashMap | Map | No | Yes | No | No |
Hashtable | Dictionary | Map | No | No | No | Yes |
TreeMap | AbstractMap | Map;NavigableMap;SortedMap | No | Yes | Yes | No |
■ Map 인터페이스를 구현하는 HashTable, HashSet, Linked-HashSet, TreeSet의 비교
HashTable | HashMap | LinkedHashMap | TreeMap | |
내부로직 | Hashing | Hashing | Hashing | 이진 탐색 트리 |
동기화 | Thread safe | Not Thread safe | Not Thread safe | Not Thread safe |
정렬 순서 | 유지되지 않음 | 유지되지 않음 | 삽입순서 유지 | Comporator가 정의되지 않을 경우 오름차순에 의해 자동 정렬. |
성능 | 동기화되므로 해쉬맵보다 약간 느리다 | 가장 좋음 | 삽입순서를 유지하기 위하여 포인터값을 저장하므로 HashMap 보다 약간 느리다. | 삽입과 삭제 오퍼레이션 후 재정렬해야하므로 가장 느리다 |
Null Value | 허용하지 않음 | Key값으로 최대 한 개의 Null 허용, V값으로 복수의 Null 허용 | Key값으로 최대 한 개의 Null 허용, V값으로 복수의 Null 허용 | 허용하지 않음 |
사용 용도 | 쓰레드 세이프티가 요구될 때 사용한다 | 가장 좋은 퍼포먼스를 보이므로, 일반적으로 권장된다 | 삽입순서를 유지하고 싶다면 선택 | Comparator에 의해 원소들을 정렬하고 싶다면 선택 |
2019년 46번

정답 : 3번
instanceof 연산자 결과
HashSet | Set의 하위 클래스이므로 Set을 1 증가 시킴 Collection의 하위 클래스이므로 Collection 을 1증가 시킴 |
HashMap | Map의 하위 클래스이므로 Map을 1증가 시킴 |
ArrayList | List의 하위 클래스이므로 List을 1증가 시킴 Collection의 하위 클래스이므로 Collection을 1증가 시킴 |
LinkedList | List의 하위 클래스이므로 List을 1증가 시킴 Collection의 하위 클래스이므로 Collection을 1증가 시킴 |
Stack | List의 하위 클래스이므로 List을 1증가 시킴 Collection의 하위 클래스이므로 Collection을 1증가 시킴 |
TreeSet | Set의 하위 클래스이므로 Set을 1증가 시킴 Collection의 하위 클래스이므로 Collection을 1증가 시킴 |
TreeMap | Map의 하위 클래스이므로 Map을 1증가 시킴 |
list = 3, map = 2, set = 2, collection = 5
'소프트웨어공학' 카테고리의 다른 글
요구사항명세_정형, 비정형, Z명세, VDM, Z, Petri-net, FSM, Decison Table, ER모델링, 관계형, 상태위주 표기법 (0) | 2021.12.02 |
---|---|
AOP_관점 지향 프로그래밍, Advice, Target, Joinpoint, Pointcut, Weaving, Spring 스프링 (0) | 2021.11.15 |
운영관리_ITIL V3 lifecycle phase, lifecycle process, ITIL v4 (0) | 2021.11.03 |
SW 테스팅 프로세스 심사모델_ISO/IEC 33063:2015(E) (0) | 2021.11.03 |
요구사항 분석_기능, 비기능 요구사항, 요구사항 검증, 도출기법, 시스템 범위, 품질특성, 요구사항정의 (0) | 2021.11.02 |