HashMap이란?
: HashMap은 Map을 구현한다. Key와 value를 묶어 하나의 entry로 저장한다는 특징을 갖는다. 그리고 hashing을 사용하기 때문에 많은양의 데이터를 검색하는데 뛰어난 성능을 보인다.
HashMap<Integer, String> hMap = new HashMap<Integer, String>();
// 키값 , 벨류값
// 키값은 못바꿈, 벨류값만 수정가능
// 추가
// .put(key,value)
hMap.put(111, "백십일");
hMap.put(222, "이백이십이");
hMap.put(333, "삼삼삼");
// 취득
String value = hMap.get(222); // key 값을 가져옴
System.out.println("value = " + value);
// 검색 (있다, 없다)
boolean b = hMap.containsKey(new Integer(333));
System.out.println("b = " + b);
if (hMap.containsKey(333)) {
String value1 = hMap.get(333);
System.out.println("value1 = " + value1);
}
// 삭제
String s = hMap.remove(222);
b = hMap.containsKey(new Integer(222));
System.out.println("b = " + b);
// 수정
hMap.replace(111, "111");
hMap.put(111, "10101");
String value1 = hMap.get(111);
System.out.println("value1 = " + value1);
// 데이터 전체 출력
// Iterator
Iterator<Integer> keys = hMap.keySet().iterator();
while (keys.hasNext()) {
Integer key = keys.next();
// 그다음값이 있느냐 없느냐 에따라 트루 펄스 // 제일 속도가 빠름
// hashmap 에선 이것밖에 사용못함
System.out.println("key:" + key + " value: " + hMap.get(key));
}
// for
for (Integer key : hMap.keySet()) {
System.out.println("key:" + key + " value: " + hMap.get(key));
}
/////////////////////////정렬
// 정렬 (sorting)
TreeMap<String, String> treeMap = new TreeMap<>(sMap);
// 오름
// Iterator 를 거쳐야함
Iterator<String> itkey = treeMap.keySet().iterator();
while (itkey.hasNext()) {
String key = itkey.next();
System.out.println("key: " + key + "value: " + treeMap.get(key));
}
// 내림
// Iterator 를 거쳐야함
Iterator<String> itkey2 = treeMap.descendingKeySet().iterator();
while (itkey.hasNext()) {
String key = itkey2.next();
System.out.println("key: " + key + "value: " + treeMap.get(key));
}
Collection & Generic/Hashmap