어제 오늘 내일

[Java] HashMap key, value 전체 출력하기 본문

IT/Java

[Java] HashMap key, value 전체 출력하기

hi.anna 2021. 5. 17. 10:05
  1. map.entrySet()
  2. map.keySet(), mep.get()
  3. map.keyValue() - value만 가져오기
  4. Iterator 
  5. forEach (Java 8 이후)

 

1. map.entrySet()

public Set<Map.Entry<K,​V>> entrySet()

map.entrySet() 메소드는

해당 map의  key와 value를 가지는 Set 객체를 리턴합니다.

 

  코드  

import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
public class HashMapPrint {
public static void main(String[] args) {
// HashMap 준비
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "Apple");
map.put(2, "Banana");
map.put(3, "Orange");
// for loop (entrySet())
for (Entry<Integer, String> entrySet : map.entrySet()) {
System.out.println(entrySet.getKey() + " : " + entrySet.getValue());
}
}
}

  결과  

1 : Apple
2 : Banana
3 : Orange

map.entrySet() 메소드를 호출하여

map의 key와 value를 포함하는 Entry객체의 Set을 얻어왔습니다.

그리고, 이 Set 객체를 순회하면서

map의 key와 value를 출력하였습니다.

 

 

2. map.keySet(), mep.get()

public Set<K> keySet()

map의 key들을 모아서 Set 형태로 반환합니다.

 

public V get​(Object key)

파라미터로 key값을 전달하면, 

map에서 해당 key의 value를 찾아서 리턴합니다.

 

  코드  

import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class HashMapPrint {
public static void main(String[] args) {
// HashMap 준비
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "Apple");
map.put(2, "Banana");
map.put(3, "Orange");
// for loop (keySet())
Set<Integer> keySet = map.keySet();
for (Integer key : keySet) {
System.out.println(key + " : " + map.get(key));
}
}
}

  결과  

1 : Apple
2 : Banana
3 : Orange

Set<Integer> keySet = map.keySet();

먼저 map.keySet() 메소드를 호출하여, key 목록을 Set 형태로 가지고 왔습니다.

 

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

key Set을 순회하면서 key를 출력하고,

해당 key를 가지고, map.get() 메소드를 호출하여

해당 key의 value를 출력하였습니다.

 

 

 

3. map.values() - value만 가져오기

public Collection<V> values()

HashMap의 values()는,

해당 map의 value 목록을 Collection 형태로 리턴합니다.

 

  코드  

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
public class HashMapPrint {
public static void main(String[] args) {
// HashMap 준비
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "Apple");
map.put(2, "Banana");
map.put(3, "Orange");
// map.values()
Collection<String> values = map.values();
System.out.println(values); // [Apple, Banana, Orange]
}
}

  결과  

[Apple, Banana, Orange]

Collection<String> values = map.values();

map.values()에서 가져온 value 목록을 출력하였습니다.

 

 

 

4. Iterator

  코드  

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
public class HashMapPrint {
public static void main(String[] args) {
// HashMap 준비
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "Apple");
map.put(2, "Banana");
map.put(3, "Orange");
// Iterator
Iterator<Entry<Integer,String>> it = map.entrySet().iterator();
while(it.hasNext()) {
Entry<Integer, String> entrySet = (Entry<Integer, String>) it.next();
// key, value 출력
System.out.println(entrySet.getKey() + " : " + entrySet.getValue());
}
}
}

  결과  

1 : Apple
2 : Banana
3 : Orange

map.entrySet().iterator();

map.entrySet() 이 리턴하는 Set 객체의 Iterator를 사용하여

key, value 목록을 출력하였습니다.

 

 

 

5. forEach (Java 8 이후)

  코드  

import java.util.HashMap;
import java.util.Map;
public class HashMapPrint {
public static void main(String[] args) {
// HashMap 준비
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "Apple");
map.put(2, "Banana");
map.put(3, "Orange");
// forEach
map.forEach((key, value) -> {
System.out.println(key + " : " + value);
});
}
}

  결과  

1 : Apple
2 : Banana
3 : Orange

Java 8 이후로는 forEach 문을 사용하여

map을 순회하면서 key와  value를 출력할 수 있습니다.

 

 


 

HashMap의 key와 value를 출력하는 여러가지 방법을 알아보았습니다.

 

 

반응형
Comments