[Java] Map 출력방법

차_현·2024년 9월 28일
0

Map 객체의 내용을 출력하기 위한 방법으로는 여러가지가 있는데,,,

1. entrySet

entrySet 메소드는 Map의 모든 Entry를 가져와서 Set 객체로 변환한다.( Entry는 Key-Value 쌍의 형태를 말함)

forEach를 사용하여 Entry(Key-Value)에 순차적으로 접근할 수 있다.

Map<String, String> map = new HashMap<>();
map.put("K1", "V1");
map.put("K2", "V2");
map.put("K3", "V3");

for (Map.Entry<String, String> entry : map.entrySet()) {
	System.out.println("Key:" + entry.getKey()); 
	System.out.println("Value:" + entry.getValue()); 
}

2. keySet

keySet 메소드는 Map의 모든 Key의 값들을 Set 객체로 변환한다.

Map<String, String> map = new HashMap<>();
map.put("K1", "V1");
map.put("K2", "V2");
map.put("K3", "V3");

for(String key : map.keySet()) {
	String value = map.get(key);
}

3. entrySet().iterator()

entrySet 메소드로 가져와 변환한 Set 객체에 대하여 Iterator를 걸어서 각 Entry에 접근할 수 있다.

Map<String, String> map = new HashMap<>();
map.put("K1", "V1");
map.put("K2", "V2");
map.put("K3", "V3");

Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();

while(iterator.hasNext()) {
	Map.Entry<String, String> entry = (Map.Entry<String, String>) iterator.next();
	
	String key = entry.getKey();
	String value = entry.getValue();
}

4. keySet().iterator()

keySet 메소드로 가져와 변환한 Set 객체에 대하여 Iterator를 걸어서 각 Key에 접근한 다음, 각 Key를 사용하여 다시 Value를 가져올 수 있다.

Map<String, String> map = new HashMap<>();
map.put("K1", "V1");
map.put("K2", "V2");
map.put("K3", "V3");

Iterator<String> iterator = map.keySet().iterator()

while(iterator.hasNext()) {
	String key = iterator.next();
	String value = map.get(key);
}

5. lamda를 사용

Map<String, String> map = new HashMap<>();
map.put("K1", "V1");
map.put("K2", "V2");
map.put("K3", "V3");

Iterator<String> iterator = map.keySet().iterator();

map.forEach((key,value) -> System.out.println(key + " " + value); 

6. stream을 사용

Map<String, String> map = new HashMap<>();
map.put("K1", "V1");
map.put("K2", "V2");
map.put("K3", "V3");

map.entrySet().stream().forEach(entry -> 
						System.out.println(entry.getKey() + " " + entry.getValue()));

0개의 댓글