Java Key, Value - HashMap, Hashtable
결과
결과
코드
package pk;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class Test {
public static void main(String[] args) {
Map<Integer, String> m = new HashMap<>();
m.put(5, "E");
m.put(3, "C");
m.put(1, "A");
m.put(2, "B");
m.put(1, "X"); // 동일한 키 존재 시 해당 값 변경
System.out.println("Key 4 존재 ? " + m.containsKey(4) );
System.out.println("Value C 존재 ? " + m.containsValue("C") );
System.out.println();
System.out.println("Key 3의 Value : " + m.get(3));
System.out.println("Key 4의 Value : " + m.get(4)); // 해당 키가 없다면 null 리턴
System.out.println("길이 : " + m.size());
m.remove(3); // 삭제
System.out.println();
// Key
Iterator<Integer> it = m.keySet().iterator(); // 모든 키를 Set의 넣어 리턴 + iterator
while(it.hasNext()) {
System.out.print(it.next() + " ");
}
System.out.println();
// Value
Iterator<String> it2 = m.values().iterator(); // 모든 값을 Collection에 넣어 리턴 + iterator
while(it2.hasNext()) {
System.out.print(it2.next() + " ");
}
}
}
HashMap : <Key, Value> 쌍의 값을 저장하는 구조이다.
값은 중복될 수도 있지만, 키는 중복 저장이 불가능하다.
만약 기존의 존재하는 키로 추가하였을 때는 해당 키의 값이 변경된다.
HashTable : HashMap과 동일한 구조, 사용방법을 갖는다.
단, HashTable은 스레드의 안전(Thread Safe) 하다.
put(K k, V v) : 추가
- 기존의 존재하는 키를 추가하였을 시 값이 변경된다.
V remove(K k) : 삭제
- 인수로 준 키의 해당하는 쌍을 삭제한다.
- 존재하지 않을 경우 null을 리턴한다.
boolean containsKey(K k) : 키 존재 여부
- 해당 키가 존재하는지 확인한다.
boolean containsValue(V v) : 값 존재 여부
- 해당 값이 존재하는지 확인한다.
V get(K k) : 값 얻기
- 인수로 준 키의 해당하는 값을 리턴한다.
- 존재하지 않는 키일 경우 null을 리턴한다.
int size() : 길이(개수) 리턴
Set<K k> keySet() : 키 Set 리턴
Collection<V v> values() : 값 Collection 리턴
'JAVA > 심화' 카테고리의 다른 글
Java TreeSet 이진 트리 구조 (0) | 2020.04.15 |
---|---|
Java Set , ArrayList 내림차순 오름차순 정렬 (0) | 2020.04.14 |
Java Queue(큐) 컬렉션 사용 (0) | 2020.04.10 |
Java Stack(스택) 컬렉션 사용 (0) | 2020.04.10 |
Java HashSet 합집합, 차집합, 교집합, 부분집합 (0) | 2020.04.09 |