반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 스프링 부트
- 스프링 빈
- kafka
- 스프링
- 스프링 컨테이너
- assertThat
- DI
- java
- Effective Java
- 생성자 주입
- db
- 필드 주입
- 스프링부트
- jdbc
- SQL
- 스프링 부트 기본
- thymeleaf
- mybatis
- sqld
- DIP
- Javascript
- assertThrows
- 스프링 프레임워크
- resultMap
- 싱글톤
- @Configuration
- spring
- 스프링 부트 입문
- JPA
- springboot
Archives
- Today
- Total
선 조치 후 분석
[Java] keyset(), iterator() 메서드 본문
728x90
반응형
SMALL
Map에 값을 출력하기 위해서 entrySet() 함수, keySet() 함수를 사용한다고 한다.
entrySet 함수는 key와 value의 값을 모두 필요한 경우에 사용하고,
keySet 함수는 key 값만 필요한 경우에 사용한다고 한다.
public static void main(String[] args) {
//방법 1: entrySet()
Map<String, String> map = new HashMap<String, String>();
map.put("key1", "val1");
map.put("key2", "val2");
map.put("key3", "val3");
map.put("key4", "val4");
map.put("key5", "val5");
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println("[key]:" + entry.getKey() + ", [val]:" + entry.getValue());
}
System.out.println("------------------------------------------------------");
// 방법 2 : keySet()
for (String key : map.keySet()) {
String value = map.get(key);
System.out.println("[key]:" + key + ", [val]:" + value);
}
결과
[key]:key1, [val]:val1
[key]:key2, [val]:val2
[key]:key5, [val]:val5
[key]:key3, [val]:val3
[key]:key4, [val]:val4
------------------------------------------------------
[key]:key1, [val]:val1
[key]:key2, [val]:val2
[key]:key5, [val]:val5
[key]:key3, [val]:val3
[key]:key4, [val]:val4
그리고 Map 컬렉션은 Iterator 인터페이스를 사용할 수 없다고 한다. 그래서 Iterator 인터페이스를 사용하기 위해서는
Map에 entrySet(), keySet() 메서드를 사용하여 Set객체를 반환받고 Iterator 인터페이스를 사용해야 한다고 한다.
// 방법 03 : entrySet().iterator()
Iterator<Map.Entry<String, String>> iteratorE = map.entrySet().iterator();
while (iteratorE.hasNext()) {
Map.Entry<String, String> entry = (Map.Entry<String, String>) iteratorE.next();
String key = entry.getKey();
String value = entry.getValue();
System.out.println("[key]:" + key + ", [value]:" + value);
}
System.out.println("------------------------------------------------------");
// 방법 04 : keySet().iterator()
Iterator<String> iteratorK = map.keySet().iterator();
while (iteratorK.hasNext()) {
String key = iteratorK.next();
String value = map.get(key);
System.out.println("[key]:" + key + ", [val]:" + value);
}
결과
------------------------------------------------------
[key]:key1, [val]:val1
[key]:key2, [val]:val2
[key]:key5, [val]:val5
[key]:key3, [val]:val3
[key]:key4, [val]:val4
------------------------------------------------------
[key]:key1, [val]:val1
[key]:key2, [val]:val2
[key]:key5, [val]:val5
[key]:key3, [val]:val3
[key]:key4, [val]:val4
그리고 Iterator 인터페이스에서 자주 사용되는 메서드인 hasNext , next의 차이를 잠깐 알아봤다.
먼저, hasNext() 메서드는 boolean 타입으로 반환되고, next() 메서드는 매개변수 또는 iterator 되는 타입 (즉, anything~ 아무타입! ex) Iterator에 입력된 값들이 String이면 String로 반환) 으로 반환된다고 한다.
728x90
반응형
LIST
'Language > Java' 카테고리의 다른 글
[Java] Gabage Collection (GC) 정리 (0) | 2023.02.24 |
---|---|
[Java] String.equals()에서의 NullPointerException (0) | 2022.10.28 |
[Java] Java단에서 alert 띄우기 - HttpServletRequest 이용 (0) | 2022.10.14 |
[Java] Casting vs String.valueOf 차이점 (0) | 2022.09.27 |
[JAVA] BuffredReader & BufferedWriter (0) | 2021.10.27 |