티스토리 뷰

배운 것 기록/java

Iterator, Map

키죽 2022. 6. 20. 18:02

반복자 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
댓글
최근에 올라온 글
«   2025/02   »
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
글 보관함