728x90
오늘의 포스팅 소개
Java에서 Map 항목을 반복하는 여러가지 방법을 정리한다.
EntrySet() , keySet() 또는 value() 를 활용하여 Map 조회.
EntrySet() :Map.Entry 클래스 에 있는 맵의 컬렉션 뷰를 반환.
- Entry.getKey () : 맵의 키를 반환
- Entry.getValue() : 맵의 값을 반환
keySet() : 맵에 포함된 모든 키를 세트로 반환
values() : 맵에 포함된 모든 값을 세트로 반환
데이터 생성
Map<String, Object> map = new HashMap<String, Object>();
map.put("id", 1);
map.put("name", "hyedi");
map.put("url", "web-oing.tistory.com");
Interator 클래스 사용
Interator<String> keys = map.keySet().iterator();
while (keys.hasNext()) {
System.out.printf("key : %s, value : %d%n", entry.getKey(), entry.getValue();
}
Map method 사용
Map.keySet()
for (String key : map.keySet()) {
String value = map.get(key);
System.out.printf("key : %s, value : %d%n", key, value);
}
values()
for (Integer value : map.values()) {
System.out.println(value);
}
Map.Entry<>
for (Map.Entry<String, Integer> m : map.entrySet()) {
String key = m.getKey();
String value = map.get(key);
System.out.printf("key : %s, value : %d%n", key, value);
}
map.forEach()
map.forEach((key, value) -> {
System.out.printf("key : %s, value : %d%n", key, value);
});
실수했던 이슈
map.forEach((key, value) -> {
System.out.printf("key : %s, value : %d%n", key, value);
map.put("key",key);
// → map 이 돌고 있을때 put을 하면 에러가 난다.
});
해결방법
Map<String, Object> addMap = new HashMap<String, Object>();
map.forEach((key, value) -> {
System.out.printf("key : %s, value : %d%n", key, value);
addMap.put("key",key);
});
반응형
'Java' 카테고리의 다른 글
[JAVA] 제네틱타입으로 clone utils 만들기 (0) | 2023.09.20 |
---|---|
[java] MapUtils 에서 주로 쓰는 메소드 example (0) | 2023.09.12 |
[java] Spring ModelAndView 로 파라미터 전달하기 (0) | 2020.07.17 |
[java] 타입변환 String 을 Date 로 (0) | 2020.07.16 |
[java] 타입변환 Date 를 String 으로 (0) | 2020.07.16 |