티스토리 뷰
반복자 Iterator
Set과 List 객체를 차례대로 접근하기 위한 객체
Set, List 객체의 iterator() 메서드를 호출해 Iterator 타입 객체를 리턴
List li = new ArrayList(Arrays.asList(1,2,3,4,5));
Set st = new HashSet(li2);
Iterator iterator = li.iterator();
Iterator iterator2 = st.iterator();
hasNext() 메서드로 다음 요소의 존재 여부를 판별하고 (다음 요소가 존재하면 true가 리턴)
요소가 존재하면 next() 메서드로 꺼내올 수 있다.
while(iterator.hasNext()) {
Object o = iterator.next();
System.out.println(o); } // 12345
Set과 List 객체에 대한 통일된 접근 방법을 제공하고 향상된 for문 사용이 가능하다.
for(Object o : st) System.out.println(o);
Map
데이터를 한 쌍(키, 값)의 형태로 관리하는 자료구조로 키는 중복이 불가능하지만 값은 중복이 가능하다.
(Set은 중복 제거에 효과적이기 때문에 키 관리 객체로 사용)
구현체 클래스에는 HashMap과 Properties 등이 있다.
K, V에는 각각 키와 값의 데이터 타입을 작성 (생략 가능)
Map<K, V> m = new HashMap<K, V>();
put(Object key, Object value) 으로 키와 값을 입력한다.
m.put(1, "값1");
m.put(2, "값2");
m.put(3, "값3");
System.out.println(m); // {1=값1, 2=값2, 3=값3}
Object get(Object key) 은 key에 해당하는 value 를 리턴한다. 입력되지 않은 키를 입력 시 null 리턴
System.out.println(m.get(2)); // 값2
System.out.println(m.get(10)); // null
Set, List 객체 생성 시 파라미터로 전달하여 객체 변환이 가능
Set v = new HashSet(m.values());
List v2 = new ArrayList(m.values());
System.out.println(v); // [값2, 값3, 값1]
System.out.println(v2); // [값1, 값2, 값3]
Set entrySet() - 키와 값을 한쌍으로 갖는 Map.Entry 객체의 모음
Set es = m.entrySet();
System.out.println(es); // [1=값1, 2=값2, 3=값3]
'배운 것 기록 > java' 카테고리의 다른 글
Generic (0) | 2022.06.22 |
---|---|
String 메서드 (0) | 2022.06.21 |
Stack, Queue (0) | 2022.06.19 |
Set, List (0) | 2022.06.18 |
Wrapper (0) | 2022.06.14 |
댓글