본문 바로가기

collection framework7

[Java] 컬렉션 프레임윅 (Collections) 컬렉션의 동기화 : 멀티 쓰레드 프로그래밍에서는 하나의 객체를 여러 쓰레드가 동시에 접근할 수 있기 때문에 데이터의 일관성을 유지하기 위해서는 공유되는 객체에 동기화가 필요 static Collection synchronizedCollection(Collection c) static List synchronizedList(List list) static Set synchronizedSet(Set s) static Map synchronizedMap(Map m) static SortedSet synchronizedSortedSet(SortedSet s) static SortedMap synchronizedSortedMap(SortedMap m) // ex) List syncList = Collections.. 2022. 7. 28.
[Java] 컬렉션 프레임윅 (TreeSet) TreeSet : 이진 검색 트리라는 자료구조의 형태로 데이터를 저장하는 컬렉션의 클래스이다. : Set인터페이스로 구현했으므로 중복된 데이터의 저장을 허용 X, 정렬된 위치에 저장하므로 저장순서를 유지하지도 않는다. 이진 트리 : 링크드리스트(LinkedList) 처럼 여러 개의 노드가 서로 연결된 구조로, 각 노드에 최대 2개의 노드를 연결할 수 있으며 루트(root) 라고 불리는 하나의 노드에서부터 시작해서 계속 확장 가능 class TreeNode { TreeNode left; // 왼쪽 자식노드 Object element; // 객체를 저장하기 위한 참조변수 TreeNode right; // 오른쪽 자식노드 } ▶ 이진 검색 트리는 왼쪽에는 부모노드의 값보다 작은 값, 오른쪽에는 부모노드의 값보.. 2022. 7. 27.
[Java] 컬렉션 프레임윅 (HashSet) HastSet : Set인터페이스를 구현한 가장 대표적인 컬렉션 : 중복된 요소를 저장하지 않는다. : 저장순서를 유지하고자 한다면 LinkedHastSet을 사용 import java.util.*; class HastSetEx1 { public static void main(String[] args) { Object[] objArr = {"1", new Integer(1), "2", "2", "3", "3", "4", "4", "4"}; Set set = new HastSet(); for(int i=0; i [1, 1, 2, 3, 4] (String.. 2022. 7. 27.
[Java] 컬렉션 프레임윅 (Comparator와 Comparable) Comparator 와 Comparable : 모두 인터페이스로 컬렉션을 정렬하는데 필요한 메서드를 정의하고 있음 : 작은 값에서부터 큰 값의 순으로 정렬되도록 구현되어 있음 public interface Comparator { int compare(Object o1, Object o2); boolean equals(Object obj); } public interface Comparable { public int compareTo(Object o); } public final class Integer extends Number implements Comparable { ... public int compareTo(Object o) { return compareTo((Integer)o); } public.. 2022. 7. 27.