Development/Algorithm, DataStructure(95)
-
Map 인터페이스, Interface Map<K,V>, 키와 값으로 구성되는 데이터, Map 예, Map<K, V>특징
Map 인터페이스· ≒ 연관배열(Associated Arrays)· 데이터 구별을 위한 키와 그에 대응하는 값으로 표현되는 데이터 구조입니다.· Key와 Value를 매핑하는 객체입니다.· Python의 Dictionary과 동일합니다.· 여기에 사용되는 Key는 절대 중복될 수 없으며 각 Key는 1개의 Value만 매핑할 수 있습니다. 키는 중복할 수 없지만 값은 중복을 허용합니다.· 정렬의 기준은 없으며 오로지 Key로 각 Value를 참조 할 수 있도록 해주는 구조입니다.· 기존에 저장된 데이터와 중복된 키를 가지고 값을 저장하면 기존의 값은 없어지고 마지막에 저장된 값이 유지됩니다.· JDK 1.2부터 제공된 NavigableMap 인터페이스를 기존의 이진 검색 트리의 성능을 향상시킨 레드-블랙..
-
Iterator<E> 인터페이스의 remove() 활용
Iterator 인터페이스의 remove() 활용메일 클라이언트를 통해 메일서버에서 메일을 가져올 때 서버에 있는 메일을 읽어만 올 것인지(copy) 또는 메일을 가져오면서 서버에서 삭제(move)할 것인지를 선택할 수 있습니다. 이와 같은 기능을 구현하고자 할 때 remove()메소드를 구현해서 사용할 수 있습니다.
-
Iterator<E> 인터페이스에 정의된 메소드
Iterator 인터페이스에 정의된 메소드
-
Comparable<T> 인터페이스, compareTo (T obj)메소드 구현 기준, Comparator <T> 인터페이스
Comparable 인터페이스· TreeSet 인스턴스에 저장이 되려면 Comparable 인터페이스를 구현해야 합니다.· Comparable 인터페이스는 정렬의 기준을 정하며 Comparable 인터페이스의 유일한 메소드인 int compareTo(T obj); 추상 메소드에서 기준을 구현하게 됩니다. compareTo (T obj)메소드 구현 기준다음의 기준으로 구현을 해야 하며 '작다’, ‘크다’, ‘같다’의 기준은 프로그래머가 결정해야 합니다.
-
TreeSet<E> 클래스, TreeSet 생성자
TreeSet 클래스· TreeSet 클래스는 트리라는 자료구조를 기반으로 데이터를 저장합니다.· TreeSet은 이진 검색 트리(binary search tree)의 성능을 향상시킨 레드-블랙 트리(red-black tree)로 구현되어 있는 컬렉션 클래스입니다. · Set 인터페이스를 구현하고 있으므로 중복된 데이터의 저장을 허용하지 않으며 데이터를 정렬된 순서로 저장합니다.· 정렬의 기준은 프로그래머가 직접 정의합니다.· HashSet와 마찬가지로 데이터를 중복저장하지 않습니다.(중복 불가) TreeSet 생성자
-
Hash알고리즘을 통한 데이터 구분 - 38의 저장유무를 확인하는 경우, HashSet<E> 클래스의 동등비교 - 동등 비교를 위한 두개 메소드 오버라이딩
Hash알고리즘을 통한 데이터 구분해시 알고리즘은 데이터의 분류에 사용이 됩니다. 해시 알고리즘을 이용하면 매우 빠르게 검색 작업을 수행할 수 있습니다. 데이터를 3으로 나머지 연산하였을 때 얻게 되는 반환 값을 ‘해시 값’으로 하여 총 세 개의 그룹를 구성할 수 있습니다. 38의 저장유무를 확인하는 경우 검색 1단계 Object 클래스의 hashCode() 메소드의 반환 값을 해시 값으로 활용하여 검색의 그룹을 선택합니다. 검색 2단계 그룹내의 인스턴스를 대상으로 Object 클래스의 equals()메소드의 반환 값의 결과로 동등비교을 판단하게 됩니다. 동등 비교를 위한 두개 메소드 오버라이딩 @Override public int hashCode( ){ } @Override public boolean ..