Set 인터페이스
중복 허용 불가, 순서 없음, null 데이터 포함 가능
중복된 요소를 포함하지 않는 객체의 집합임
객체간에 저장 순서를 기억하지 않음(저장과정이 랜덤은 아님.저장하는 규칙은 있음)
cf ) List 인터페이스: 중복 허용, 순서 있음, null포함 가능
Set 컬렉션 종류(구현체)
HashSet
가장 많이 사용되는 Set 구현체
빠른 데이터 접근, 삽입을 지원함
정렬이나 순서 보장을 하지 않음
LinkedHashSet
HashSet에 순서 기능을 넣은 것(확장 형태)
중복은 허용하지 않으나 순서는 있음
TreeSet
데이터가 자동으로 정렬됨
중복 제거와 정렬된 순서의 유지가 필요한 경우 사용
중복은 허용하지 않지만 순서는 유지됨
Set 컬렉션 예시)
public static void main(String[] args) {
// Set 컬렉션의 주요 메소드
// add(), remove(), contains(), size(), isEmpty()
// Set 컬렉션 선언 방법
// Set<타입> set명 = new Set컬렉션종류<>();
Set<String> programming = new HashSet<>();
programming.add("자바");
programming.add("파이썬");
programming.add("C++");
programming.add("자바스크립트");
System.out.println(programming); // [C++, 파이썬, 자바, 자바스크립트]
programming.add("자바");
System.out.println(programming); // [C++, 파이썬, 자바, 자바스크립트]
boolean result = programming.remove("파이썬"); // remove는 제거후 완료 여부 반환
System.out.println(programming); // [C++, 자바, 자바스크립트]
System.out.println(result); // true
boolean falseResult = programming.remove("R");
System.out.println(falseResult); // false
System.out.println(programming.size()); // 3
System.out.println(programming.contains("파이썬")); // false
System.out.println(programming.contains("자바")); // true
System.out.println(programming.isEmpty()); // false
programming.clear();
System.out.println(programming.isEmpty()); // true
}
'java' 카테고리의 다른 글
실습) 도서 관리 시스템 (0) | 2025.03.06 |
---|---|
39. 컬렉션 프레임워크-Map (0) | 2025.03.06 |
실습) 리스트 활용 (0) | 2025.03.06 |
37. 컬렉션 프레임워크-List (0) | 2025.03.06 |
36. 컬렉션 프레임워크 (0) | 2025.03.06 |