Map의 static nested class로 Map을 다룰 때 유용하다.
(key, value)로 하나의 쌍을 이루는 콜렉션이다.
1. Map객체에서 Entry 가져오기.
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("올해 나이", 28);
map.put("현재 재산", 30000);
for(Map.Entry<String, Integer> e : map.entrySet()){
System.out.printf(e.getKey()+": "+e.getValue());
}
/* 출력
올해 나이: 28
현재 재산: 30000
*/
그리고 .entrySet()으로 (key, value)의 mappings이 반환됐기 때문에 Entry를 변경하면 Map도 변경된다.
for(Map.Entry<String, Integer> e : map.entrySet()){
if(e.getKey().equals("현재 재산")) e.setValue(29000);
}
System.out.printf(map.get("올해 재산"));
/* 출력
29000
*/
2. Entry객체 생성해서 사용하기.
tuple처럼 쌍의 value를 가진 콜렉션으로 사용할 수 있다. 다만 Map.Entry는 Interface이기 때문에 구현클래스(AbstractMap.SimpleEntry)가 필요하다.
List<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>();
//다음처럼 Entry를 객체생성하여 tuple처럼 사용할 수 있다.
list.add(new AbstractMap.SimpleEntry("올해 나이", 28));
'미역 > 자바' 카테고리의 다른 글
[파이썬] 소수 구하기 (0) | 2022.04.22 |
---|---|
엑셀 시트 읽어오기 (0) | 2022.04.22 |
Optional에 대하여 (0) | 2021.12.16 |
StringBuilder (0) | 2021.12.01 |
그룹 합의 차이가 최소인 두 그룹으로 나누기 (0) | 2021.11.15 |