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); ```
A. [Volvo, BMW, Ford, BMW, Mazda]
B. [Volvo, BMW, Ford, Mazda]
C. [BMW, Ford, Mazda, Volvo]
D. 출력 순서는 예측할 수 없지만 BMW는 한 번만 나타남

정답: 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 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.