백엔드/자바
컬렉션 - MAP 출력 방법
ksge7
2020. 8. 17. 02:25
컬렉션에서 List와 Set은 데이터를 읽어오기가 간편하다.
반면 Map의 경우 데이터가 키(key), 값(value)로 나뉘다보니 상대적으로 읽기가 까다롭다.
그래서 이번 포스트에선 Map 데이터를 읽어오는 방법에 대해 정리하고자 한다.
forEach + keySet( ) 이용하기
keySet( ) 함수를 이용해서 key만 따로 Set 형태로 저장한다.
그 뒤 for-each 문을 이용해서 추출한 key를 get( ) 메서드를 써서 값(value)을 얻어내면 된다.
public static void main(String[] args) {
Map player = new TreeMap();
player.put("야구", "류현진");
player.put("축구", "손흥민");
player.put("피겨", "김연아");
Set player_key = player.keySet();
for(Object i: player_key) {
System.out.println(i+" : "+player.get(i));
}
}
forEach + entrySet( ) 이용하기
entrySet( ) 메서드를 이용해서 추출한 Set을 key와 value를 가진 Entry 형태로 저장한다.
Entry 변수에서 getkey( ), getValue( ) 메서드를 이용해서 데이터를 읽어온다.
단, 이때 주의할 점은 Map자료를 선언할 때 지네릭스를 써줘야 한다.
public static void main(String[] args) {
Map <String, String> player = new TreeMap();
player.put("야구", "류현진");
player.put("축구", "손흥민");
player.put("피겨", "김연아");
for(Map.Entry i : player.entrySet()) {
System.out.println(i.getKey()+" : "+i.getValue());
}
}
iterator + keySet( ) 이용하기
keySet( ) 메서드를 이용해서 map 자료의 key를 Set으로 추출한다.
해당 set을 이용해 iterator 객체를 호출한다.
while문이 반복될 때 추출한 키와 해당 키를 이용해 get() 메서드로 value를 읽어와서 출력한다.
public static void main(String[] args) {
Map player = new TreeMap();
player.put("야구", "류현진");
player.put("축구", "손흥민");
player.put("피겨", "김연아");
Iterator it = player.keySet().iterator();
while (it.hasNext()){
Object key = (String) it.next();
System.out.print(key);
System.out.println(" : "+player.get(key));
}
}
iterator + entrySet( ) 이용하기
entrySet() 메서드를 이용해서 map의 key, value를 set으로 호출한다.
set을 이용해서 iterator 객체를 호출한다.
while문이 반복될 때 반환된 객체를 Entry 객체로 형 변환.
Entry 객체의 getKey()와 getValue() 메서드를 이용해 키와 값을 읽어와서 출력함.
public static void main(String[] args) {
Map player = new TreeMap();
player.put("야구", "류현진");
player.put("축구", "손흥민");
player.put("피겨", "김연아");
Iterator it = player.entrySet().iterator();
while (it.hasNext()){
Map.Entry entry = (Map.Entry) it.next();
System.out.print(entry.getKey());
System.out.println(" : "+entry.getValue());
}
}