树集与Java

TreeSet提供SortedSet接口和SortedSet extends Set接口的实现。除了以排序格式存储元素外,它的行为类似于简单集合。以下是TreeSet的功能。

null
  • TreeSet使用树数据结构进行存储。
  • 对象按排序的升序存储。但我们可以使用TreeSet方法按降序进行迭代。下降迭代器()。
  • 访问和检索时间非常快,这使得TreeSet成为以排序格式存储大量数据的最佳选择。
  • TreeSet不使用hashCode()和equals()方法来比较它的元素。它使用compare()或compareTo()方法来确定两个元素的相等性。

treeset类的重要方法:

  • 布尔加法(E): 如果指定的元素尚未存在,此方法会将其添加到此集合中。
  • E天花板(E): 此方法返回集合中大于或等于给定元素的最小元素,如果没有此类元素,则返回null。
  • 布尔包含(对象o): 如果此集合包含指定的元素,则此方法返回true。
  • E层(E): 此方法返回该集合中小于或等于给定元素的最大元素,如果没有此类元素,则返回null。
  • E pollFirst(): 此方法检索并删除第一个(最低)元素,如果此集合为空,则返回null。
  • E pollast(): 此方法检索并删除最后一个(最高)元素,如果此集合为空,则返回null。
  • 布尔删除(对象o): 如果指定的元素存在,此方法将从该集中删除该元素。

下面是一个非常简单的TreeSet实现,包括TreeSet是排序、在TreeSet中迭代、检索第一个和最后一个元素,以及删除元素。

JAVA

// Java program to demonstrate working TreeSet collection
import java.util.Iterator;
import java.util.TreeSet;
public class TreeSetExample
{
public static void main(String[] args)
{
TreeSet<Integer> ts = new TreeSet<Integer>();
ts.add( 10 );
ts.add( 61 );
ts.add( 87 );
ts.add( 39 );
Iterator<Integer> iterator = ts.iterator();
System.out.print( "Tree set data: " );
// note that 87 being largest element, appears in
// the last.
while (iterator.hasNext())
System.out.print(iterator.next() + " " );
System.out.println();
// to check if treeset is empty or not.
if (ts.isEmpty())
System.out.print( "Tree Set is empty." );
else
System.out.println( "Tree Set size: " + ts.size());
// To get the smallest element from the set
System.out.println( "First data: " + ts.first());
// To get the largest value from set
System.out.println( "Last data: " + ts.last());
// remove 61 from set.
if (ts.remove( 61 ))
System.out.println( "Data is removed from tree set" );
else
System.out.println( "Data doesn't exist!" );
System.out.print( "Now the tree set contain: " );
iterator = ts.iterator();
// Displaying the Tree set data
while (iterator.hasNext())
System.out.print(iterator.next() + " " );
System.out.println();
System.out.println( "Now the size of tree set: " +
ts.size());
// Remove all
ts.clear();
if (ts.isEmpty())
System.out.print( "Tree Set is empty." );
else
System.out.println( "Tree Set size: " + ts.size());
}
}


输出:

Tree set data: 10 39 61 87 Tree Set size: 4First data: 10Last data: 87Data is removed from tree setNow the tree set contain: 10 39 87 Now the size of tree set: 3Tree Set is empty.

请参考 Java中的TreeSet及其示例 更多细节。

本文由 Rishabh Mahrsee。 如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写评论

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享