youngik

java HashSet, HashMap, TreeMap 본문

Java

java HashSet, HashMap, TreeMap

youngik 2021. 4. 20. 11:38

1. HashSet

- set interface를 상속받은 클래스, hash table에 저장되는 자료구조

- HashSet의 순서를 보장되지 않음. (add 할때마다, 순서가 바뀔 수도 있음!)

- 값에 hash함수를 적용해서 그 값에 따라서 hash table에 저장이 됨.

 

*java HashSet 선언

HashSet <Integer> set = new HashSet<Integer>();

 

*function

isEmpty() = boolean 값 반환하는 함수 (비어있으면 true, 아니면 false)

add() = hash table에 값을 add하는 함수

remove(Obejct o) = hash에 값을 제거하는 함수 (삭제되면 true, 아니면 false)

clear() = hash를 비우는 함수

size() = hashSet 사이즈 반환하는 함수

contains(Object o) = hash에 값을 가지고 있는지 반환하는 함수 (포함하면 true, 아니면 false)

 

*출처 : docs.oracle.com/javase/7/docs/api/java/util/HashSet.html

2. HashMap

- Map interface를 상속받은 클래스, HashSet과 같이 hash table에 저장되는 자료구조

- Map과 같이 (key, value)값의 형태로 저장이 되고, 순서를 보장하지 X

- hash table에 저장되는 방법은 HashSet과 동일

 

*java HashMap 선언

HashMap <key, value> hashmap = new HashMap<key, value>();

key, value 값은 Integer, String 등 자료형을 가질 수 있음

 

*function

put(key,value) : (key,value) 쌍으로 HashMap에 저장

clear() : HashMap을 비움

ContainsKey(object key) : 해당 key를 포함하고 있는지 boolean 값 반환 (포함:true / 미포함:false)

ContainsValue(object value) : 해당 value를 포함하고 있는지, ContainsKey와 동일

entrySet() : HashMap에 들어있는 값들을 entry <key, value> 형태로 Hashtable 순서대로 반환

KeySet() : HashMap에 들어있는 key값들을 Hash table 순서대로 반환

values() : HashMap에 들어있는 value값 Hash table 순서대로 반환

remove(object key) : 해당 key의 값을 hashtable에서 삭제

get(object key) : 해당 key에 해당하는 value값을 불러옴

comparator() : hash값들을 비교해서 정렬하는 함수 overwriting으로 구현해야하며

                    object o1, object o2 두개의 값을 비교해서 key or value 아니면 사용자가 설정한 방법으로 정렬가능

 

*출처 : docs.oracle.com/javase/7/docs/api/java/util/HashMap.html#keySet()

 

3. TreeMap

- HashMap과는 달리 값을 add했을 때 자동으로 오름차순으로 key가 정렬이 됨

- Map과 같이 (key, value)값의 형태로 저장이 되고, 순서를 보장함 O

 

*java TreeMap 선언

TreeMap <String, Integer> map = new TreeMap<String, Intger>();

 

*function

function의 종류는 HashSet과 동일

'Java' 카테고리의 다른 글

java 자료형 변환  (0) 2021.04.20
Java, Eclipse installation  (0) 2021.04.04
Comments