HashMap이란?
HashMap의 생성
HashMap<String, String> map = new HashMap<>();
HashMap 메서드
// key & value 추가
map.put("people", "사람");
map.put("baseball", "야구");
// key에 대한 value 값 추출
map.get("people"); // 사람
// key 값에 해당되는 아이템(key, value) 삭제
map.remove("people"); // 사람
// map의 크기
map.size()
// key 값만 추출(중복x) : Set<key 자료형> 반환
map.keySet();
// value 값만 추출(중복o) : Collection<value 자료형> 반환
map.values();
// key값/value값이 존재하는지 여부
map.containsKey("people"); // false
map.containsValue("야구"); // true
HashMap의 정렬
① Key 값을 기준으로 정렬
HashMap<String, Integer> map = new HashMap<>();
map.put("A", 10);
map.put("B", 20);
map.put("C", 30);
map.put("D", 40);
List<String> keySet = new ArrayList<>(map.keySet());
// key 값으로 오름차순 정렬
Collection.sort(keySet); // A B C D
// key 값으로 내림차순 정렬
Collections.reverse(keyset); // D C B A
② Value 값을 기준으로 정렬
HashMap<String, Integer> map = new HashMap<>();
map.put("A", 10);
map.put("B", 20);
map.put("C", 30);
map.put("D", 40);
List<String> keySet = new ArrayList<>(map.keySet());
// value 값으로 오름차순 정렬
keySet.sort(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return map.get(o1).compareTo(map.get(o2));
}
});
// value 값으로 내림차순 정렬
keySet.sort((o1, o2) -> {map.get(o2).compareTo(map.get(o2))};
주의) compareTo의 앞 뒤 파라미터에는 참조형 변수만 접근 가능
HashSet이란?
HashSet의 생성
HashSet<String> set = new HashSet<>();
HashSet 메서드
// 요소 값 추가
set.add("tiger");
// 요소 값 삭제
set.remove("tiger");
// set의 크기
set.size();
// 요소 값 검색
set.contains("lion"); // false