일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- property
- File 클래스
- javaservlet
- GUI
- springframework
- JavaScript
- Java
- String
- jQuery
- 코틀린#클래스#상속
- array
- 연락처 프로그램
- spring
- 설치
- Method
- 윈도우 #단축키
- 데이터베이스
- 오라클
- css
- function
- 자바
- jsp
- 연산자
- 다형성
- 상속
- Event
- kotlin #return #jump
- html
- list
- 파일 입출력
- Today
- Total
Binary World
JAVA CLASS : Set - HashSet 클래스 본문
<Set 클래스>
* Collection<E>
|__ Set<E>
|__ HashSet<E>, TreeSet<E>
* Set<E>:
1. 데이터의 저장 순서가 중요하지 않음 -> 인덱스가 없음.
2. 중복된 데이터의 저장을 허용하지 않음
(예) {1, 2, 3} = {3, 2, 1}
(예) {1, 2, 2, 3, 3, 3} = {1, 2, 3}
* HashSet<E>: 검색을 빠르게 하기 위한 Hash 알고리즘이 적용된 set
* TreeSet<E>: 정렬을 빠르게 하기 위한 Tree 알고리즘이 적용된 set
<프로그램 코드>
* CollectionMain05.java
package edu.java.collection05; import java.util.HashSet; import java.util.Iterator; import java.util.Set; public class CollectionMain05 { public static void main(String[] args) { // HashSet<Integer> 객체 생성 // HashSet<Integer> set = new HashSet<>(); Set<Integer> set = new HashSet<>(); // 다형성
// set에 데이터 저장: add(element) set.add(100); set.add(200); set.add(200); set.add(300); System.out.println("set size" + set.size()); System.out.println();
// Set<E>은 인덱스로 데이터를 읽어올 수 있는 get() 메소드를 제공하지 않음 for(Integer x: set){ System.out.println(x); }
System.out.println(); // iterator(반복자)를 사용한 데이터 검색 // iterator(): Iterator 객체 생성 // hasNext(): Iterator 객체가 가리키는 위치에 // 원소가 있는지(true), 없는지(false)를 리턴하는 메소드 // next() : Iterator 객체가 가리키는 위치를 다음 위치로 이동, // 원래 가리키고 있던 값을 리턴하는 메소드 Iterator<Integer> itr = set.iterator(); while (itr.hasNext()) { System.out.println(itr.next()); }
System.out.println(); // Set<E>의 원소를 삭제: remove(element) // 인덱스가 아니라 값으로 삭제 set.remove(200); System.out.println("--- 삭제 후 ---"); for (Integer x : set) { System.out.println(x); }
// Set<E>은 인덱스가 없기 때문에, // 데이터 변경을 위한 set(index, element) 메소드를 제공하지 않음! // 데이터 변경 => 데이터 삭제(remove) + 데이터 추가(add) set.remove(300); set.add(500); System.out.println("--- 변경 후 ---"); for (Integer x : set){ System.out.println(x); }
} // end main() } // end class CollectionMain05
|
* 출력화면
set size3 100 200 300 100 200 300 --- 삭제 후 --- 100 300 --- 변경 후 --- 100 500 |
'개발자의 길 > JAVA' 카테고리의 다른 글
JAVA CLASS : Map-HashMap 클래스 (0) | 2017.01.09 |
---|---|
JAVA CLASS : Set - TreeSet 클래스 (0) | 2017.01.09 |
JAVA CLASS : List - LinkedList 클래스 (0) | 2017.01.09 |
JAVA CLASS : ArrayList 클래스 (0) | 2017.01.06 |
JAVA CLASS : Generic 클래스 (0) | 2017.01.06 |