kotlin/java

TreeSet 예제

slow333 2023. 1. 6. 17:12

add 시에 자동정렬, 범위 검색 및 정렬에 유리함

내부 적으로 Comparable을 구현하고 있음

 

import java.util.Comparator;
import java.util.Objects;
import java.util.TreeSet;

public class TreeSetEx {
  public static void main(String[] args) {
    // TreeSet은 add시에 자동 정렬을 수행함
    // 범위 검색 및 정렬에 좋음
    TreeSet<Object> treeSet = new TreeSet<>();
    String from ="c";
    String to = "x";

    treeSet.add("ase");    treeSet.add("sio");    treeSet.add("seh");    treeSet.add("htt");
    treeSet.add("kud"); treeSet.add("zgf"); treeSet.add("irtfvb"); treeSet.add("zdgqw");

    System.out.println(treeSet);
    System.out.println(treeSet.subSet(from,to));

    int[] score = {49, 402, 20, 20, 22, 50, 55, 99};
    TreeSet<Integer> tset = new TreeSet<>();
    for (int i : score) tset.add(i);

    System.out.println(tset);
    System.out.println(tset.headSet(50));
    System.out.println(tset.tailSet(50));
    System.out.println(tset.subSet(20, 70));
  }
}

class Test implements Comparable{
  String ha;
  static int i=0;

  Test(){
    this.ha = getClass().getName();
    i++;
    System.out.println(i+", "+this.ha);
  }

  @Override
  public int compareTo(Object o) {
    return 1;
  }
}

class CompareInt implements Comparator<Object>{
  @Override
  public int compare(Object o1, Object o2) {
    if (o1 instanceof Comparable && o2 instanceof Comparable) {
      Comparable c1 =(Comparable) o1;
      Comparable c2 =(Comparable) o2;
      return c1.compareTo(c2);
    }
    return -1;
  }
}

 

 

'kotlin > java' 카테고리의 다른 글

Collections class  (0) 2023.01.06
HashMap 예제  (0) 2023.01.06
Set, HashSet, equals, hashCode override 예제  (0) 2023.01.06
무작위로 4개의 char를 추출해서 정렬  (0) 2023.01.06
LocalDateTime 예제  (0) 2023.01.06