다연이네

[days23] 컬렉션 클래스<Set> - TreeSet 본문

Java

[days23] 컬렉션 클래스<Set> - TreeSet

 다연  2020. 10. 21. 20:30
반응형

TreeSet 
  1. 이진 검색 트리 형태로 데이터를 저장하는 컬렉션 클래스
  2. Set 계열: 중복x, 순서x
  3. 정렬, 검색, 범위 검색 - 높은 성능
  4. 이진트리 == linkedList 구조 (노드)
  5. [노드] 최대 2개 노드만 연결
  6. 루트노드
  7. 부모-자식 관계, 형제노드들

subSet(from, to) : from부터 to전까지 출력

TreeSet set = new TreeSet();
	      
	      String from = "b";
	      String to = "d";
	      
	      set.add("abc"); set.add("alien"); set.add("bat");
	      set.add("car"); set.add("Car"); set.add("disco");
	      set.add("dance"); set.add("dZZZZ"); set.add("dzzzz");
	      set.add("elephant"); set.add("elevator"); set.add("fan");
	      set.add("flower");
	      
	      System.out.println(set);
	      System.out.println("range search : from "+from +" to "+to);
	      System.out.println("result1 : "+set.subSet(from, to));
	      System.out.println("result2 : "+set.subSet(from, to+"zzzz"));//dzzzz 전까지
          //우선순위는 대문자가 소문자보다 높다
	      											

출력 결과 

[Car, abc, alien, bat, car, dZZZZ, dance, disco, dzzzz, elephant, elevator, fan, flower]
range search : from b to d
result1 : [bat, car]
result2 : [bat, car, dZZZZ, dance, disco]

 

 

x.headSet(23,true); : 값 23을 포함해서 전 값들 출력

x.headSet(23); : 23 미포함

x.tailSet(23): : 23포함해서 뒷 값들 출력

 TreeSet s = new TreeSet();
	      
	      s.add(12);
	      s.add(23);
	      s.add(56);
	      s.add(6);
	      s.add(98);
          
	      System.out.println(s);          
	      System.out.println(s.headSet(23,true)); //23포함해서 전 값들 출력
	      System.out.println(s.tailSet(23)); // 23포함해서 뒷 값들 출력

출력 결과 

[6, 12, 23, 56, 98]

[6, 12, 23]
[23, 56, 98]

반응형
Comments