본문 바로가기
두고두고 볼 것

Java Collections, Iterator, Enumeration 인터페이스 간략 정리

by 문자메일 2022. 3. 31.

https://docs.oracle.com/javase/9/docs/api/java/util/Iterator.html

java.util.Iterator (Thread Safe X)

자바 iterator 인터페이스 메서드 설명

  • hasNext() : 다음 값이 있으면 true return, exception 발생하기 전까지
  • next() : iteration에서 다음 원소 return
  • remove() : iteration에서 가장 최신에 return된 원소 제거
  • forEachRemaining(Consumer<? super E> action) : 모든 원소에 대해서 주어진 작업을 수행한다, 예외가 발생하기 전까지

 

 

 

https://docs.oracle.com/javase/9/docs/api/java/util/Enumeration.html

java.util.Enumeration (Thread Safe O)

자바 Enumeration 인터페이스 메서드 설명

  • asIterator() : iterator 인터페이스형으로 바꿔서 반환
  • hasMoreElements() : enumeration에 확인하지 않은 원소가 더 있는지 확인한다.
  • nextElement() : 적어도 하나 이상 확인하지 않은 원소가 남아있을 때 남은 원소 반환한다.

 

 

 

java.util.Collection

https://docs.oracle.com/javase/9/docs/api/java/util/Collections.html

https://docs.oracle.com/javase/9/docs/api/java/util/Map.html

List LinkedList, Stack, Vector, ArrayList 순서 O, 중복 O
Set
https://hun-developer.tistory.com/38
HashSet, TreeSet 순서 X, 중복 X
LinkedHashSet 순서 O, 중복 X
Map
https://fruitdev.tistory.com/141
HashMap, TreeMap, HashTable Key, Value 쌍으로 이루어짐.
Key는 중복 X
.put() 할 때 순서 안지켜짐
LinkedHashMap .put() 할 때 순서 지켜짐

HashMap 자주 쓰는 메서드 정리

1. 데이터 넣기 : hashmap.put("","");

2. 데이터 꺼내기 : hashmap.get("");

3. key/value 삭제하기 : hashmap.remove("");

4. 특정 Key가 존재하는지 확인 : hashmap.containsKey("");

5. HashMap key 갯수 구하기 : hashmap.size();

6. 찾는 키가 존재하면 찾는 키의 값 반환, 없다면 기본 값 반환 : hashmap.getOrDefault(key, DEFAULT_VALUE);

import java.util.HashMap;

public class MapGetOrDefaultEx {
	public static void main(String arg[]) {
		String [] alphabet = { "A", "B", "C" ,"A"};
		HashMap<String, Integer> hm = new HashMap<>();
		for(String key : alphabet) hm.put(key, hm.getOrDefault(key, 0) + 1);
		System.out.println("결과 : " + hm);
        	// 결과 : {A=2, B=1, C=1}
	}
}

 

댓글