수강생들의 정보와 점수를 관리하는 프로그램을 만드는 프로젝트 중...
정보 관리가 목적이기 때문에 자료구조 선택에 신중을 가했다.
중복된 수강생을 받지 않기 위해 전체적으로 Map 사용이 많다.
그래서 Map 중에 가장 기본적으로 설명되는 HashMap의 사용법을 익혀가는 중이다.
후일을 위해 HashMap의 자주 사용되는 메서드들을 정리해놓으려 한다.
Map<K, V> map일 때,
추가
map.put(key, value)
map.putIfAbsent(key, value) Key값이 이미 있으면 이미 존재하는 value 리턴, 없으면 맵에 저장하고 null 리턴
요소 삭제: key로만 가능
map.remove(key)
모든 요소 삭제
map.clear()
단일 조회: key로만 가능, 없으면 null 리턴
map.get(key)
print(map) 시 단순출력
{key1=value1, key2=value2, ...}
전체 조회
forEach() 사용 예시
map.forEach((key, value) -> { System.out.println(key + " : " + value); });entrySet() 사용 예시, KeySet() 보다 성능이 빠르다고 함
for (Map.Entry<Integer, String> entry : map.entrySet()) { System.out.println("[Key]:" + entry.getKey() + " [Value]:" + entry.getValue()); }KeySet() 사용 예시
for(Integer i : map.keySet()){ //저장된 key값 확인 System.out.println("[Key]:" + i + " [Value]:" + map.get(i)); }values() 사용 예시
Collection<String> values = map.values(); System.out.println(values);
entrySet을 iterator 구문으로 작성한 예시
Iterator<Entry<Integer, String>> entries = map.entrySet().iterator(); while(entries.hasNext()){ Map.Entry<Integer, String> entry = entries.next(); System.out.println("[Key]:" + entry.getKey() + " [Value]:" + entry.getValue()); }
키 확인: boolean 리턴
map.containsKey(key)
값 확인: boolean 리턴
map.contains(value)
맵 크기
map.size()