Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Java
- 기업분석
- 미국주식
- 금리인하
- XLF
- 자바
- 인플레이션
- 백준
- 알고리즘
- javascript
- 주식
- 무디스
- 배당성장
- 프로그래머스
- 현금흐름표
- 제태크
- StringBuffer
- etf
- FCF
- mco
- object
- 오버라이딩
- 금리인상
- S&P500
- 다형성
- 그리디 알고리즘
- 접근제어자
- 주린이
- 객체지향
- 잉여현금흐름
Archives
- Today
- Total
오늘의하루
Collections & Collection class 정리 본문
Collections는 Collection을 위한 static 메서드를 제공하는 것을 말합니다.
- 컬렉션 채우기, 복사, 정렬, 검색 : fill(), copy(), sort(), binarySearch()
Collection의 동기화 - synchronizedXXX()
- static Collection synchronizedCollection(Collection c)
- static List synchonizedList(List list)
- static Set synchonizedSet(Set s)
- static Map synchronizedMap(Map m)
- static SortedSet synchronizedSortedSet(SortedSet s)
- static SortedMap synchronizedSortedMap(SortedMap m)
사용방법
List synList = Collections.synchronizedList(new ArrayList(...));
// ArrayList() = 동기화 되지 않은 리스트
// synchronized 를 사용해서 동기화로 만든다.
// synList = 동기화된 리스트 (Vector와 비슷하다.)
변경 불가(readOnly) Collection 만들기 - unmodifiableXXX()
- static Collection unmodifiableCollection(Collection c)
- static List unmodifiableList(List list)
- static Set unmodifiableSet(Set s)
- static Map unmodifiableMap(Map m)
- static NavigableSet unmodifiableNavigableSet(NavigableSet s)
- static SortedSet unmodifiableSortedSet(SortedSet s)
- static NavigableMap unmodifiableNavigableMap(NavigableMap m)
- static SortedMap unmodifiableSortedMap(SortedMap m)
싱글톤 Collection 만들기 - singletonXXX()
객체를 단 1개만 저장하게 만든다.
- static List singletonList(Object o)
- static Set singleton(Object o) >> singletonSet이 아니다!
- static Map singletonMap(Object o)
한 종류의 객체만 저장하는 Collection 만들기 - checkedXXX()
JDK 1.5 이후로 나온 제네릭스와 같은 기능을 하며 현재는 잘 사용되지 않는다.
- static Collection checkedCollection(Collection c, class type)
- static List checkedList(List list, class type)
- static Set checkedSet(Set s, class type)
- static Map checkedMap(Map m, class keyType, class valueType)
- static Queue checkedQueue(Queue queue, class type)
- static NavigableSet checkedNavigableSet(NavigableSet s, class type)
- static SortedSet checkedSortedSet(SortedSet s, class type)
- static NavigableMap checkedNavigableMap(NavigableMap m, class keyType, class valueType)
- static SortedMap checkedSortedMap(SortedMap m, class keyType, class valueType)
사용방법
List list = new ArrayList();
List checkedList = checkedList(list, String.class); // String만 저장가능
checkedList.add("abc"); // ok
checkedList.add(new Integer(3)); // Error! String만 저장가능
최종 컬렉션 클래스 정리 및 요약
- ArrayList, Vector는 배열 기반이다.
- 이걸 기준으로 만든 게 Stack(Last In First Out) 구조이다.
- 비순차적 추가 및 삭제의 효율이 나쁘다.
- 이 문제를 해결하기 위해 LinkedList를 만들었다.
- 이걸 기준으로 만든 게 Queue(First In First Out) 구조이다.
- 이 문제를 해결하기 위해 LinkedList를 만들었다.
- HashMap, Hashtable은 배열 기반과 LinkedList의 장점을 합쳐서 만든 것이다.
- HashMap에서 Key만 빼서 만든 게 HashSet이다.
- 순서가 없지만 순서를 만들고 싶을 때는 LinkedHashSet일 사용하면 된다.
- HashMap에서 Key만 빼서 만든 게 HashSet이다.
- LinkedList를 기준으로 TreeSet을 만들었다.
- 중위 순회를 하게 되면 자동으로 정렬이 된다.
'JAVA' 카테고리의 다른 글
Java로 만든 RPG 게임 (0) | 2022.08.23 |
---|---|
Java로 만든 스케줄 관리 프로그램 (0) | 2022.08.23 |
[JAVA] Generics 정의 및 타입변수, 다형성 (0) | 2022.08.23 |
Java 객체지향 공부 다형성, interface, 상속, 포함 등 (0) | 2022.08.22 |
[JAVA] Map 관련 내용 (0) | 2022.08.19 |
Comments