본문 바로가기
java

Set 컬렉션,HashSet,TreeSet

by 코딩하는아재냥 2022. 4. 26.

Set 컬렉션 클래스

 

set 인터페이스를 구현한 모든 set 컬렉션 클래스는 다음과 같은 특징을 가집니다.

 

1. 요소의 저장 순서 유지 x 

2. 같은 요소의 중복 저장 x

 

1. HashSet<E>

2. TreeSet<E>


HashSet<E>클래스 

HashSet 클래스는 Set 컬렉션 클래스에서 가장 많이 사용되는 클래스 중 하나입니다.

HashSet 클래스는 내부적으로 HashMap 인스턴스를 이용하여 요소를 저장합니다

 

HashSet<String> hs01 = new HashSet<String>();

HashSet<String> hs02 = new HashSet<String>();

 

// add() 메소드를 이용한 요소의 저장

hs01.add("홍길동");

hs01.add("이순신");

System.out.println(hs01.add("임꺽정"));

System.out.println(hs01.add("임꺽정")); // 중복된 요소의 저장 

ㅁㅁㅁㅁ에서 index 2,3 이 중복이라 3은 null상태가 댐

set = 요소의 저장 순서  x , 중복 저장  x임 

 

 

// Enhanced for 문과 get() 메소드를 이용한 요소의 출력

for (String e : hs01) {

    System.out.print(e + " ");

}

>> 홍길동 이순신 임꺽정

// add() 메소드를 이용한 요소의 저장

hs02.add("임꺽정");

hs02.add("홍길동");

hs02.add("이순신");

 

// iterator() 메소드를 이용한 요소의 출력

Iterator<String> iter02 = hs02.iterator(); // 아직 잘모르겠다.

while (iter02.hasNext()) { //>> iter02 에서 읽어올 요소가 있는지 확인 될때까지 while을 돌려라

// hasNext()는 boolean타입

    System.out.print(iter02.next() + " "); iter02 에서 읽은 다음 요소를 반환함. 

}

홍길동 이순신 임꺽정 <<

내가 입력한건 임꺽정 홍길동 이순신 순이지만                              저장요소가 순서가 유지되지 않기때문에 결과는 출력값은 어떤게 인덱스 0번에 표기될지 모른다

 

// size() 메소드를 이용한 요소의 총 개수

System.out.println("집합의 크기 : " + hs02.size());

3

true

false

홍길동 이순신 임꺽정

홍길동 이순신 임꺽정

집합의 크기 : 3


TreeSet 클래스 

 

'java' 카테고리의 다른 글

properties  (0) 2022.04.27
Map 컬렉션 클래스  (0) 2022.04.27
Iterator와 Listlterator  (0) 2022.04.26
Stack과 Queue  (0) 2022.04.26
제네릭의 개념,타입 변수,제네릭 메소드  (0) 2022.04.26

댓글