TIL: 2024/05/07 - Java Collection Map

White 와잇·2024년 5월 7일

TIL

목록 보기
13/40
post-thumbnail

수강생들의 정보와 점수를 관리하는 프로그램을 만드는 프로젝트 중...

정보 관리가 목적이기 때문에 자료구조 선택에 신중을 가했다.
중복된 수강생을 받지 않기 위해 전체적으로 Map 사용이 많다.

그래서 Map 중에 가장 기본적으로 설명되는 HashMap의 사용법을 익혀가는 중이다.
후일을 위해 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);
  • 향상된 for문을 iterator.hasNext()로 대체할 수 있음

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()

profile
웹개발 도전! 데브옵스 도전!

0개의 댓글