Java의 입력/출력과 스트림
Alex Liu
Software Development Engineer
HashSet 예시import java.util.HashSet;public class SampleHashSetData { public static void main(String[] args) { HashSet<String> fruits = new HashSet<>();fruits.add("Apple"); fruits.add("Banana");} }
{Apple, Banana}
For-Each loopfor (type x: collection){}List, Set, Map 등fruits: [Apple, Banana].for (String x : fruits) {
System.out.println(x);
}
Apple
Banana
Iterator<> 사용: List, Set, Queue 등 지원Iterator 클래스 임포트import java.util.Iterator;// 샘플 집합 `fruits`용 `Iterator` 객체 `it` 생성 Iterator<String> it = fruits.iterator(); // `.hasNext()`로 다음 요소 존재 여부 확인 while (it.hasNext()) { // `.next()`로 요소 가져오기 System.out.print(it.next());}
Apple Banana
Iterator로 .remove()를 사용해 요소 삭제$$
Iterator<String> it = fruits.iterator();
while (it.hasNext()) {
String fruit = it.next();
if (fruit.startsWith("A")) {
// 요소가 `A`로 시작하면 삭제
it.remove();
}
}
// 이제 fruits에는 "Banana"만 포함
삭제 전:
System.out.println(fruits);
[Apple, Banana]
삭제 후:
System.out.println(fruits);
[Banana]
안전한 삭제 보장, ConcurrentModificationException 방지

For-Each 루프List(ArrayList,LinkedList)Set(HashSet,TreeSet,LinkedHashSet)Queue(PriorityQueue)Stack(Stack)Map요소 삭제IteratorList(ArrayList,LinkedList)Set(HashSet,TreeSet,LinkedHashSet)Queue(PriorityQueue)Stack(Stack)Map (keySet().iterator, values().iterator, entrySet().iterator 사용)요소 삭제Java의 입력/출력과 스트림