[Java] HashMap 사용법

고동이의 IT·2021년 11월 2일
0

Java

목록 보기
14/37
post-thumbnail

Map

  • key값과 value값을 한 쌍으로 관리하는 객체
  • key값은 중복을 허용하지 않고 순서가 없다.(Set의 특징을 갖는다.)
  • value값은 중복을 허용한다.

Map 생성

HashMap<String, String> map = new HashMap<>();

자료추가 : put(키값, value값)

map.put("name", "홍길동");
map.put("addr", "대전");
map.put("tel", "010-1234-5678");
		
System.out.println("map:"+map);

자료수정: 데이터를 추가할 때 'key값'이 같으면 나중에 입력한 값이 저장된다.

map.put("addr", "서울");
System.out.println("map:"+map);

자료삭제: remove(key값)

  • 'key값'이 같은 자료를 찾아서 삭제한다. 반환값은 삭제된 자료의 value값이다.

자료 읽어오기: get(key값)

  • 'key값'과 짝이되는 value값을 반환한다.
  System.out.println("이름!!: "+ map.get("name")+"  
  주소: "+map.get("addr")+"  번호: "+map.get("tel"));

containsKey(key값)

  • key값이 존재하는지 여부를 나타내는 메서드
  • 해당 'key값'이 존재하면 true, 그렇지않으면 false를 반환한다.
System.out.println("tel 키값의 존재여부: 
"+map.containsKey("tel"));
System.out.println("age 키값의 존재여부: 
"+map.containsKey("age"));
System.out.println();

Map에 저장된 모든 데이터를 읽어오는 방법

방법1. KeySet()

  • 모든 key값을 읽어와서 처리하기
  • Map의 모든 key값들을 읽어와 Set형으로 반환한다.
Set<String> keySet = map.keySet();
Iterator<String> it = keySet.iterator();
while(it.hasNext()){
	String key = it.next();
	String value = map.get(key);
	System.out.println(key + ":" +value);
		}

방법2. 방법1의 처리를 향상된 for문으로 처리하기

for(String key : map.keySet()){
	String value = map.get(key);
	System.out.println(key + ":"+value);
		}
		System.out.println();

방법3. values()

  • value값만 읽어와 처리하기.
	for(String value : map.values()){
	System.out.println(value);
		}
profile
삐약..뺙뺙

0개의 댓글