Java - 문제 미리보기
문제 2338
medium
다음 코드에서 HashSet의 출력 결과로 올바른 것은?
```java
HashSet cars = new HashSet();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("BMW"); // 중복
cars.add("Mazda");
System.out.println(cars);
```
정답: D
HashSet의 핵심 특징:
1. 중복 제거:
⦁ 같은 값을 여러 번 추가해도 한 번만 저장됨
⦁ "BMW"가 두 번 추가되었지만 실제로는 한 개만 저장
2. 순서 보장 안 함:
⦁ HashSet은 요소들의 삽입 순서를 보장하지 않음
⦁ 내부적으로 해시 테이블을 사용하여 순서가 무작위로 결정됨
실제 동작 과정:
```java
cars.add("Volvo"); // 추가됨
cars.add("BMW"); // 추가됨
cars.add("Ford"); // 추가됨
cars.add("BMW"); // 중복이므로 무시됨
cars.add("Mazda"); // 추가됨
```
최종 결과:
⦁ 포함 요소: Volvo, BMW, Ford, Mazda (4개)
⦁ 출력 순서: 예측 불가능 (해시값에 따라 결정)
💡 학습 팁
이 문제를 포함한 Java 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.