더 부지런해지기 위한 블로그
Home
  • 분류 전체보기 (60)
    • 자바알고리즘 (16)
    • 깃 (4)
    • 자바_스프링 (10)
    • 도커_젠킨스 (3)
    • 데이터베이스 (5)
    • 프로젝트 (15)
    • 기타 (5)
    • 잡담 (1)
  • 분류 전체보기 (60)
    • 자바알고리즘 (16)
    • 깃 (4)
    • 자바_스프링 (10)
    • 도커_젠킨스 (3)
    • 데이터베이스 (5)
    • 프로젝트 (15)
    • 기타 (5)
    • 잡담 (1)
블로그 내 검색

더 부지런해지기 위한 블로그

개발 공부하며 기록하는 블로그 입니다.

  • 자바알고리즘

    TreeSet 알고리즘(중복제거 , 정렬가능)

    2021. 8. 22.

    by. Sohyun

    TreeSet은 중복되는 데이터가 들어오면 저장하지 않음!
    그리고 자동 정렬되는 이진트리이다.
    기본이 오름차순인데 Collections.reverseOrder() 하면 내림차순 정렬 된다.
    TreeSet<Integer> Tset = new TreeSet<>(Collections.reverseOrder());

     

    • 값 추가 : Tset.add(143);
    • 해당값 삭제 : Tset.remove(143); 
    • 원소 갯수 : Tset.size();
    • 첫번째 원소 : Tset.first(); (오름차순일땐 최소값, 내림차순일땐 최대값 출력됨)
      마지막 원소 : Tset.last(); (반대경우)

    + 참고로 set은 인덱스를 사용하지 않는다.

    set은 순서가 없어서 list 처럼 출력 시 .get으로 출력이 안된다.

     

    따라서 Iterator 객체를 만들어 줘서 출력하거나

    Iterator<Integer> iter = Tset.iterator();
    
    while(iter.hasNext()){
      System.out.println( iter.next() );
    }

     

    빠른 for문으로 출력할 수 있다.

    여기에서는 변수를 만들어 카운트 한 후에 출력하면 몇번째인지 알 수 있다.

    int cnt=0;
    for(int x:Tset) {
     System.out.println(cnt + " : "+  x);
    	cnt++;	
    }

    HashSet 과 TreeSet 과 LinkedHashSet의 차이?? 

    • HashSet은 중복이 제거되고 순서가 없는 무작위 형태의 Set이고
    • TreeSet은 HashSet에서 값에 따라(a-z, 1-9) 자동 정렬되는 Set이고
    • LinkedHashSet은 add 한 순서에 따라 저장되는 Set이다

    '자바알고리즘' 카테고리의 다른 글

    자바 이진트리 순회(2.DFS - 넓이 우선탐색)  (2) 2021.09.05
    자바 이진트리 순회(1.DFS - 깊이 우선탐색)  (0) 2021.09.04
    재귀함수와 스택프레임  (0) 2021.09.03
    정렬정리(선택정렬, 버블정렬 , 삽입정렬)  (0) 2021.09.02
    HashMap<Key, Value> 알고리즘  (0) 2021.08.21

    댓글

    관련글

    • 자바 이진트리 순회(1.DFS - 깊이 우선탐색) 2021.09.04
    • 재귀함수와 스택프레임 2021.09.03
    • 정렬정리(선택정렬, 버블정렬 , 삽입정렬) 2021.09.02
    • HashMap<Key, Value> 알고리즘 2021.08.21
    맨 위로
전체 글 보기
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

Today

Total

Powered by ⓒ Kakao Corp.

Designed by Nana
블로그 이미지
Sohyun

티스토리툴바