본문 바로가기

Language/java55

[Java] 지네릭스란? 1. 지네릭스란? : 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입체크를 해주는 기능이다. : 객체의 타입을 컴파일 시에 체크하기 때문에 객체의 타입 안정성을 높이고 형변환의 번거로움이 줄어든다. 지네릭스의 장점 1. 타입 안정성을 제공 2. 타입체크와 형변환을 생략할 수 있으므로 코드가 간결해 진다. 2. 지네릭 클래스의 선언 class Box { Object item; void setItem(Object item) { this.item = item; } Object getItem() { return item; } } // 지네릭 클래스로 변경 class Box { T item; void setItem(T item) { this.item = item; } T getItem().. 2022. 7. 28.
[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] 컬렉션 프레임윅 (HastMap과 Hashtable) Map의 특징 : 키(key)와 값(value)을 묶어서 하나의 데이터(entry)로 저장한다는 특징 : 해싱을 사용하기 때문에 많은 양의 데이터를 검색하는데 있어서 뛰어난 성능 HashMap : HashMap은 키와 값을 각각 Object타입으로 저장한다. 즉 (Object, Object)의 형태로 저장하기 때문에 어떤한 객체도 저장할 수 있지만 키는 주로 String을 대문자 또는 소문자로 통일해서 사용하곤 한다. 키(key) 컬렉션 내의 키(key)중에서 유일해야 한다. 값(value) 키와 달리 데이터의 중복을 허용한다. ★ HashMap은 데이터를 키와 값을 모두 Object타입으로 저장하기 때문에 HashMap의 값(value)으로 HashMap을 다시 저장할 수 있다. ▶ 하나의 키에 다시 .. 2022. 7. 27.
[Java] 컬렉션 프레임윅 (TreeSet) TreeSet : 이진 검색 트리라는 자료구조의 형태로 데이터를 저장하는 컬렉션의 클래스이다. : Set인터페이스로 구현했으므로 중복된 데이터의 저장을 허용 X, 정렬된 위치에 저장하므로 저장순서를 유지하지도 않는다. 이진 트리 : 링크드리스트(LinkedList) 처럼 여러 개의 노드가 서로 연결된 구조로, 각 노드에 최대 2개의 노드를 연결할 수 있으며 루트(root) 라고 불리는 하나의 노드에서부터 시작해서 계속 확장 가능 class TreeNode { TreeNode left; // 왼쪽 자식노드 Object element; // 객체를 저장하기 위한 참조변수 TreeNode right; // 오른쪽 자식노드 } ▶ 이진 검색 트리는 왼쪽에는 부모노드의 값보다 작은 값, 오른쪽에는 부모노드의 값보.. 2022. 7. 27.