로넌
s'develop
로넌
전체 방문자
오늘
어제
  • 분류 전체보기 (41)
    • Programming (13)
      • Java (6)
      • SpringBoot (3)
      • JPA (3)
      • JavaScript (1)
    • Tools (8)
      • IntelliJ (2)
      • etc (6)
    • Database (6)
    • Algorithm (14)
    • ETC (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 스프링부트
  • casting오류
  • MySQL
  • MySQL현재시간
  • 체크박스반복문
  • 배열내림차순
  • checkbox_includes
  • 소스트리스태시
  • ansijoin
  • oraclejoin
  • 배열오름차순
  • 스프링부트오류
  • 인텔리제이단축키
  • git오류해결방법
  • 반복문체크박스
  • includes함수
  • 자바
  • Server Tomcat v8.5 Server at localhost failed to start
  • JPA데이터베이스설계
  • 최대공약수]

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
로넌

s'develop

Programming/Java

[JAVA] HashSet, TreeSet 정리

2023. 1. 27. 14:27
Set 의 특징

1) 순서가 없다.

2) 중복을 허용하지 않는다. 

 

Set Collection의 종류

1) HashSet<E>

2) TreeSet<E>

 

HashSet<E> 클래스

- 가장 많이 사용되는 Set 클래스로, 해시 알고리즘을 사용하여 검색속도가 빠르다.

- 내부적으로 HashMap 인스턴스를 이용하여 요소를 저장한다.

 

만약 저장순서를 유지해야 한다면 LinkedHashSet을 이용하면 된다.

 

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

// 1. add() 메소드를 이용하여 요소를 저장한다.
set.add("가나다");
set.add("라마바");
set.add("사아자");
set.add("사아자");

// 2. 중복을 허용하지 않는다.
for(String x : set){
	System.out.print(x + " ");
}
// 출력결과
// 가나다 라마바 사아자

// 3. Iterator()메소드를 이용한 요소의 출력
Iterator(String> iterator = set.iterator();

while(iterator.hasNext()){
	System.out.print(iterator.next() + " ");
}

// 출력결과
// 가나다 라마바 사아자

 

TreeSet<E> 클래스

- 데이터가 정렬된 상태로 저장되는 이진 검색 트리의 형태로 요소를 저장한다.

 

TreeSet<Integer> tree = new TreeSet<>();

// 1. add() 메소드를 이용하여 저장
tree.add(10);
tree.add(30);
tree.add(20);

// 2. 정렬된 상태로 출력된다
for(int x : trr){
	System.out.print(x + " ");
}

// 출력결과
// 10 20 30

// 3. remove() 메소드를 이용한 제거
tree.remove(30);

// 4. iterator() 메소드를 이용한 요소의 출력
Iterator<Integer> iterator = new tree.iteraotr();
while(iterator.hasNext()){
	System.out.print(iterator.next() + " ");
}

// 5. size() 메소드를 이용한 개수
tree.size();

 

HashSet과 TreeSet의 차이

- set이란 순서가 없는 집합체이며 중복을 허용하지 않는다.

- TreeSet은 HashSet과 다르게 정렬되어 저장되지만 그렇기 때문에 HashSet에 비해 속도가 느리다.

 

 

참고

https://thalals.tistory.com/16

 

[JAVA] 자바 HashSet, TreeSet (Set 컬렉션 클래스)

1. Set 컬렉션 클래스의 특징 1) 요소의 저장순서를 유지하지 않느다. 2) 같은 요소이 중복저장을 허용하지 않느다. ( 즉, HashSet을 이용하면, 중복값을 쉽게 제거할 수 있다.) ​ Set 컬렉션 클래스의

thalals.tistory.com

 

저작자표시 비영리 변경금지 (새창열림)

'Programming > Java' 카테고리의 다른 글

어노테이션 정리  (2) 2024.03.23
[JAVA] 10진수를 2진수, 8진수 16진수로 변환하기  (0) 2023.02.23
[JAVA] 자바 String 문자열 잘라내기 indexOf(), subString()  (0) 2023.01.05
[JAVA] 문자열을 char 배열로 변환하기toCharArray()  (0) 2022.11.27
[JAVA] cannot be cast to java.lang.Integer 오류 해결방법  (0) 2022.10.12
    'Programming/Java' 카테고리의 다른 글
    • 어노테이션 정리
    • [JAVA] 10진수를 2진수, 8진수 16진수로 변환하기
    • [JAVA] 자바 String 문자열 잘라내기 indexOf(), subString()
    • [JAVA] 문자열을 char 배열로 변환하기toCharArray()
    로넌
    로넌

    티스토리툴바