Java에서 트리 셋을 구현하는 방법?



이 기사에서는 Java의 Treeset 구현에 대해 소개하고 프로그래밍 방식의 데모가 이어집니다.

우리 모두는 컬렉션이 모든 자바 애플리케이션에서 중요한 역할을한다는 것을 알고 있습니다. 자체 하위 클래스 및 구현을 추가로 제공하는 다양한 클래스 및 인터페이스를 제공합니다. 트리 셋 중복을 허용하지 않고 데이터를 오름차순으로 자연스럽게 저장하는 컬렉션의 일부입니다. 트리 세트가 무엇인지 자세히 이해하겠습니다.

이 기사에서는 다음 사항을 다룰 것입니다.





Treeset에 대한이 기사로 이동

자바 트리 셋

syncTreeSet = Collections.synchronizedSet (syncTreeSet) 설정

또한 treeset 클래스는 null 값을 허용하지 않습니다. 이제 예제를 보겠습니다 /



import java.util. * class TreeSet1 {public static void main (String args []) {TreeSet treeSet = new TreeSet () treeSet.add ( 'Java') treeSet.add ( 'Python') treeSet.add ( 'Cobol' ) 반복기 itr = treeSet.iterator () while (itr.hasNext ()) {System.out.println (itr.next ())}}}

산출:
코볼

자바

파이썬



정렬 된 클래스이므로 출력은 위와 같습니다.

Treeset에 대한이 기사로 이동

C ++에서 mergesort

트리 셋 함수

이제 treeset 클래스에서 제공하는 생성자를 살펴 보겠습니다. 4 개의 생성자를 제공합니다.

빌더 기술
트리 세트 () 기본 정렬 순서로 빈 트리 세트를 만듭니다.
TreeSet (컬렉션 c)컬렉션의 요소로 트리 세트를 만듭니다. c.
TreeSet (Comparator comp)저장하는 동안 요소를 정렬하기 위해 주어진 비교기 순서로 빈 트리 셋을 만듭니다.
TreeSet (SortedSet s)sortedset의 요소로 트리 세트를 만듭니다.

Treeset에 대한이 기사로 이동

트리 셋 방법

이러한 생성자 외에도 treeset은 아래와 같이 많은 메서드를 제공합니다.

방법 기술
void add (Object o)요소가 아직없는 경우 트리 세트에 추가합니다.
boolean AddAll (컬렉션 c)주어진 컬렉션의 모든 요소를 ​​트리 셋에 추가합니다.
개체 clone ()해당 트리 셋 인스턴스의 얕은 복사본, 즉 복사 된 세트를 반환합니다.
객체 우선 ()트리 세트에 저장된 첫 번째 (가장 낮은) 요소를 반환합니다.
개체 last ()트리 세트에 저장된 마지막 (가장 높은) 요소를 반환합니다.
부울 isEmpty ()트리 세트가 비어있는 경우 true를 반환합니다 (요소가 없음).
부울 contains (Object o)트리 세트에 주어진 요소가 포함되어 있으면 true를 반환합니다.
무효 clear ()이것은 모든 요소를 ​​제거합니다
SortedSet 헤드셋 (Object toElement)주어진 요소보다 작은 트리 세트의 모든 요소를 ​​반환합니다.
SortedSettailSet (요소의 객체)주어진 요소보다 크거나 같은 트리 세트의 모든 요소를 ​​반환합니다.
SortedSet 하위 집합 (Object fromElement, ObjecttoElement)주어진 범위 (fromElement 포함 및 toElement 제외) 사이의 모든 요소를 ​​반환합니다.
int 크기 ()트리 세트의 크기 (현재 요소 수)를 반환합니다.
반복자 iterator ()집합의 요소를 반복하는 반복기를 반환합니다.
부울 제거 (Object o)지정된 요소가 있으면 제거합니다.
SortedSet 내림차순 Set ()주어진 세트의 역순을 반환합니다.
pollFirst ()집합에서 첫 번째 (가장 낮은) 요소를 제거합니다.
pollLast ()집합에서 마지막 (가장 큰) 요소를 제거합니다.
낮음 (E 및)주어진 요소보다 엄격히 작은 집합에서 가장 큰 요소를 반환하거나 해당 요소가 없으면 null을 반환합니다.
더 높음 (E e)세트에서 주어진 요소보다 엄격하게 큰 최소 요소를 반환하거나 해당 요소가 없으면 null을 반환합니다.
비교기 비교기 ()집합의 요소를 정렬하는 데 사용되는 비교기를 반환하거나 그러한 비교기가 사용되지 않고 정렬에 자연 순서가 사용되는 경우 null을 반환합니다.
쪼개는 도구스플리터 ()요소에 대해 지연 바인딩 및 실패 빠른 분할자를 만듭니다.
바닥 (E e)집합에서 지정된 요소의 동일하거나 가장 가까운 최소 요소를 반환하거나 해당 요소가없는 경우 null을 반환합니다.
천장 (E e)집합에서 지정된 요소의 동일하거나 가장 큰 최소 요소를 반환하거나 해당 요소가없는 경우 null을 반환합니다.
내림차순 반복기내림차순으로 요소를 반복하는 데 사용됩니다.

Treeset에 대한이 기사로 이동

자바 트리 셋 프로그램

이제 이러한 기능 중 일부가 포함 된 예제 프로그램을 살펴 보겠습니다.

importjava.util.Iterator importjava.util.TreeSet public class 샘플 {publicstaticvoid main (String args []) {TreeSetol = newTreeSet () ol.add ( 'India') ol.add ( 'Australia') ol.add ( 'India ') ol.add ('캐나다 ') ol.add ('네팔 ') ol.add ('중국 ') 반복자 itr = ol.iterator () while (itr.hasNext ()) {System.out.println (itr .next ())} System.out.println ( 'Size :'+ ol.size ()) itr = ol.descendingIterator () System.out.println ( '역순으로 요소') while (itr.hasNext () ) {System.out.println (itr.next ())} System.out.println ( 'Initial Set :'+ ol) System.out.println ( 'Reverse Set :'+ ol.descendingSet ()) System.out .println ( 'Head Set :'+ ol.headSet ( 'India')) System.out.println ( 'SubSet :'+ ol.subSet ( 'China', 'Nepal')) System.out.println ( 'TailSet : '+ ol.tailSet ('캐나다 ')) System.out.println ('최고 값 : '+ ol.pollFirst ()) System.out.println ('최저값 : '+ ol.pollLast ()) 시스템. out.println ( '폴링 작업 후 :'+ ol) ol.remove ( '중국') System.out.println ( '제거 후 :'+ ol) ol.add ( '호주') ol.add ( '네덜란드 ') if (ol.con tains ( 'India')) {System.out.println ( '주어진 세트에 인도가 포함됨')} ol.clear () System.out.println ( '지우기 작업 후 설정 :'+ ol)}}

산출:

호주

캐나다

중국

인도

네팔

크기 : 5

역순의 요소

네팔

인도

중국

캐나다

호주

초기 설정 : [호주, 캐나다, 중국, 인도, 네팔]

리버스 세트 : [네팔, 인도, 중국, 캐나다, 호주]

헤드 세트 : [호주, 캐나다, 중국]

하위 집합 : [중국, 인도]

TailSet : [캐나다, 중국, 인도, 네팔]

최고 값 : 호주

최저값 : 네팔

투표 작업 후 : [캐나다, 중국, 인도]

제거 후 : [캐나다, 인도]

주어진 세트는 인도를 포함합니다

지우기 작업 후 설정 : []

따라서 우리는 '자바의 트리 셋'에 대한이 기사를 끝 맺었습니다. 자세한 내용은 신뢰할 수있는 온라인 학습 회사 인 Edureka의 Java Training을 확인하십시오. 에두 레카 코스는 Hibernate & Spring과 같은 다양한 Java 프레임 워크와 함께 핵심 및 고급 Java 개념 모두에 대해 교육하도록 설계되었습니다.

질문이 있으십니까? 이 블로그의 댓글 섹션에 언급 해 주시면 가능한 한 빨리 답변을 드리겠습니다.