- [자료 구조] 10. Set 인터페이스2024년 05월 10일
- Song hyun
- 작성자
- 2024.05.10.:38
728x90반응형[자료 구조] 10. Set 인터페이스
1. Set 인터페이스란?
2. Set 인터페이스의 주요 메서드
3. 예제
1. Set 인터페이스란?
(1) Set 인터페이스의 개념
-Java에서 Set 인터페이스는 java.util 패키지의 일부로, 중복을 허용하지 않는 유일한 요소들을 저장하는데 사용된다. 컬렉션 프레임워크의 일부이며, 순서에 의존하지 않는 데이터 집합을 관리하기 위해 설계되었다.
=>Set 인터페이스는 주머니와 같다. 요소와 요소 간에 순서라는 개념이 없지만, 중복을 허용하지 않는다는 강력한 특징이 있다.
(2) Set 인터페이스의 주요 특징
(2-1) 중복 허용 불가
(2-2) 순서 보장하지 않음
(2-3) 값의 유일성
(3) 사용 예시
-아이디 목록 관리
-주민등록번호
-직원 번호
(4) 구현 클래스
-HashSet
-LinkedHashSet
-TreeSet
2. Set 인터페이스의 주요 메서드
(1) add(E e)
(2) remove(Object o)
(3) contains(Object o)
(4) size()
(5) isEmpty()
(6) clear()
(7) iterator()
3. 예제
package Structure.ch06; import java.util.HashSet; import java.util.Iterator; import java.util.Random; import java.util.Set; public class MySetTest { public static void main(String[] args) { // 계층 구조 확인 // 업 캐스팅 상태 - 컴파일 시점에는 Set 계열의 타입은 멤버들만 확인 가능 Set<Integer> mSet = new HashSet<Integer>(); HashSet<Integer> set1 = new HashSet<Integer>(); // 요소 추가 방법 set1.add(1); set1.add(1); set1.add(2); set1.add(2); set1.add(3); System.out.println(set1.size()); // 사이즈 확인 // 요소 제거 (요소->값을 넣음) set1.remove(3); System.out.println(set1); // set 계열은 순서를 보장하지 않음 for(int i=0; i<set1.size(); i++) { // 횟수 만큼 반복은 하지만, 인덱스 개념이 없다. } // for-each 구문 활용 for (Integer mI : set1) { System.out.println("요소 값 추출 : "+mI); } // 반복자를 활용해서 요소 순회를 할 수 있다. Iterator<Integer> iter = set1.iterator(); // while 구문 활용 while(iter.hasNext()) { System.out.println("값 확인 : "+iter.next()); } System.out.println("---------------"); // getRandomNumber() 메서드가 호출되면, 데이터를 관리하고자 한다 HashSet<Integer> lottoNumbers = new HashSet<Integer>(); int whileCount=0; while(lottoNumbers.size()<6) { lottoNumbers.add(getRandomNumber()); whileCount++; } System.out.println(lottoNumbers); System.out.println(whileCount); getRandomNumber(); getRandomNumber(); getRandomNumber(); getRandomNumber(); getRandomNumber(); getRandomNumber(); } // end of main public static int getRandomNumber() { Random random = new Random(); return random.nextInt(45)+1; } }
728x90반응형'자료 구조 > 기본 개념' 카테고리의 다른 글
[자료 구조] 12. Map 인터페이스 (0) 2024.05.13 [자료 구조] 11. Set 인터페이스 예제 : 고유 사용자 ID 관리 시스템 (0) 2024.05.10 [자료 구조] 9. List 인터페이스 활용 : 영화 평점 관리 시스템 예제 만들기 (0) 2024.05.09 [자료 구조] 8. List 인터페이스 (0) 2024.05.09 [자료 구조] 7. 컬렉션 프레임 워크 (0) 2024.05.09 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)