자바 트리셋

Jaba Teulises



TreeSet은 기본 저장소 유형으로 Tree를 사용하는 가장 기본적인 SortedSet 구현 중 하나로 간주됩니다. TreeSet에서 모든 값은 정렬된 시퀀스에 저장됩니다. 기본적으로 모든 숫자 값은 오름차순으로 유지되며 문자열은 사전 기반 순서로 처리됩니다. TreeSet은 비교 대상이 지정되었는지 여부에 관계없이 오름차순 및 사전 기반 순서를 유지합니다. Set 인터페이스를 제대로 구현하려면 TreeSet이 비교 대상과 일치해야 합니다. 또한 TreeSet에서는 null 값을 사용할 수 없습니다.

예 1

add() 메서드는 TreeSet 내부에 요소를 추가하는 데 필요합니다. 지정된 요소는 TreeSet이 생성될 때와 동일한 정렬 순서를 사용하여 추가됩니다. 중복 항목을 추가하지 않습니다.









이전 코드 내부에 Java의 클래스 및 메서드에 액세스하기 위해 Java의 유틸리티 클래스를 삽입했습니다. 다음으로 main() 메서드는 'CreatingTreeSet' 클래스의 정의에 포함됩니다. 우리는 main() 메서드 내에서 TreeSet 코드를 테스트했습니다. 먼저 TreeSet 클래스에서 'person' 변수를 만들고 선언된 변수 'persons'에 빈 TreeSet 인터페이스를 설정했습니다.



TreeSet의 데이터 유형은 인터페이스 생성 시 지정되므로 문자열 요소만 추가했습니다. 모든 문자열 요소가 고유한 TreeSet에 5개의 문자열 요소를 삽입했습니다. 그런 다음 출력 화면에 오름차순으로 인쇄될 iterator() 메서드에서 TreeSet의 각 요소를 순회했습니다.





TreeSet 인터페이스를 사용하여 생성된 요소는 다음 출력 스냅의 출력으로 가져옵니다.



예 2

TreeSet을 만든 후 TreeSet에서 지원하는 기본 제공 메서드를 사용하여 요소에 액세스할 수 있습니다. contains() 메서드는 TreeSet의 특정 요소를 확인합니다. first() 메서드는 TreeSet의 초기 요소를 검색하고 last() 메서드는 TreeSet의 끝 요소를 검색합니다.

유틸리티 클래스를 가져온 후 'AccessingTreeSet' 클래스를 정의했습니다. 다음으로 TreeSet 요소에 액세스하기 위해 지정된 Java 클래스에 main() 메서드를 배포했습니다. TreeSet 클래스를 참조하여 NavigableSet 유형의 'Colors' 개체를 선언했습니다. TreeSet()은 비어 있으며 add() 메서드를 호출하여 문자열 값과 함께 추가됩니다. 여기에 서로 다른 색상의 이름인 세 개의 문자열 값을 추가했습니다. 그런 다음 Print 문을 통해 TreeSet 값이 화면에 표시됩니다. 다음으로 문자열을 초기화하여 확인하는 변수 'find'를 만들었습니다. 제공된 Tree에 문자열이 존재하는지 확인하기 위해 contains() 메서드를 호출하고 'find' 변수를 매개변수로 추가했습니다. Contains() 메서드는 TreeSet에서 지정된 문자열 요소의 존재를 확인하고 부울 결과를 생성합니다. 또한 first() 메서드와 last() 메서드에서 TreeSet의 첫 번째 요소와 마지막 요소도 얻었습니다. 두 메서드 모두 제공된 TreeSet의 첫 번째 위치와 마지막 위치에 배치된 특정 요소를 생성합니다.

contains() 메서드에서 특정 문자열을 확인하면 문자열 요소가 contains() 메서드의 일부임을 나타내는 참값이 반환됩니다. 다음으로 TreeSet의 첫 번째 값과 마지막 값도 아래에 표시됩니다.

예 3

이전 예제에서 첫 번째 요소와 마지막 요소에 액세스했습니다. 가장 높은 요소와 가장 낮은 요소에 액세스하고 제거하기 위해 pollFirst() 및 pollLast() 메서드가 사용됩니다. pollFirst() 메서드는 첫 번째에서 가장 낮은 요소를 검색하고 제거하는 데 사용됩니다. pollLast() 메서드는 마지막 TreeSet에서 가장 높은 요소를 찾아 제거하는 데 적용됩니다.

이 프로그램은 main() 메서드가 생성되는 Java 클래스 'LowerAndHigherValueFromTreeSet'로 설정됩니다. 여기에서는 'IntegerSet' 개체를 선언하여 TreeSet 클래스에서 TreeSet 인터페이스를 제공했습니다. 처음에는 add() 메서드를 사용하여 요소와 함께 추가할 수 있는 빈 TreeSet을 만들었습니다. 정수 항목은 add() 메서드를 사용하여 TreeSet에 로드됩니다.

그런 다음 pollFirst() 메서드와 pollLast()를 사용하여 print 문을 제공했습니다. pollFirst() 메서드는 지정된 TreeSet에서 가장 낮은 첫 번째 요소를 가져옵니다. 반면에 pollLast() 메서드는 마지막 TreeSet에서 가장 높은 요소를 가져옵니다.

결과는 TreeSet에서 가장 낮은 요소와 가장 높은 요소를 출력에 표시한 pollFirst() 및 pollLast() 메서드에서 가져옵니다.

예 4

clear() 메서드는 TreeSet에 있는 모든 요소를 ​​지우는 데 사용됩니다. TreeSet에서 clear() 메서드가 구현되면 빈 TreeSet이 반환됩니다.

공개 클래스 'ClearTreeSet'은 이전 프로그램에서 main() 메서드로 설정됩니다. 거기에 빈 TreeSet을 생성했는데, 이는 TreeSet 클래스 변수 'SetElements'에 설정됩니다. 그런 다음 TreeSet 내부의 add() 메서드를 사용하여 난수를 삽입했습니다. 다음으로 TreeSet 내부의 요소를 표시하기 위해 TreeSet을 인쇄했습니다. 표시한 후 clear() 메서드를 사용하여 TreeSet을 지웠습니다.

실시예 5

TreeSet은 이기종 요소의 추가를 허용하지 않습니다. 클래스의 이기종 개체를 추가하려고 하면 런타임 중에 'classCastException'이 발생합니다. treeSet은 동질적이고 비교 가능한 개체만 허용합니다.

우리는 TreeSet 인터페이스를 설정한 Java 클래스 'HeterogenousObjectTreeSet' 내에 main() 메서드를 배포했습니다. TreeSet은 'CharSet' 개체에서 정의됩니다. 그러면 요소가 TreeSet의 'CharSet' 개체에 추가됩니다. StringBuffer 인터페이스를 사용하여 유사한 요소를 삽입했습니다. TreeSet 내부의 마지막 요소는 이기종이며 정수 값입니다. 그런 다음 이기종 요소 검색 결과를 얻기 위해 TreeSet 요소를 인쇄했습니다.

결과는 TreeSet의 첫 번째 인덱스 값이 표시되지 않고, 비교 대상으로 인해 모든 문자 요소가 화면에 표시됨을 보여줍니다.

결론

Java TreeSet 클래스는 HashSet과 같은 고유한 요소로만 구성됩니다. TreeSet은 빠른 액세스 및 검색 기간으로 인해 많은 양의 관련 데이터를 저장하는 최적의 방법으로 빠른 데이터 검색을 용이하게 합니다. 이 문서는 선언을 포함하여 TreeSet 클래스의 기본 사항을 다룹니다. 또한 여기에서는 다양한 방법과 작업에 대해서도 설명합니다.