Java TreeSet特殊方法

Java TreeSet特殊方法

Java环境中的TreeSet类是一个容器接口集,主要用于存储树。这个类有两种不同的方式。

  • AbstractSet类 – 它是Java Collection Framework的一部分,是一个集合接口。

  • NavigableSet接口 – 它是Java Collection中的可导航集合。

在Java环境中,TreeSet继承了AbstractSet类并实现了NavigableSet。TreeSet实现的一些重要方面包括:

  • 它以唯一数据作为输入。

  • 不保留数据的插入顺序。

  • 按升序对元素进行排序。

  • 线程不安全。

让我们更详细地讨论一下TreeSet类的标准。

什么是TreeSet类以及它是如何工作的

  • TreeSet类在Java集合中提供了树数据结构的算法。它是Java中SortedSet接口的一部分。它通过自然方式进行排序,并提供了显式比较器。

  • 此过程使用红黑树,它是一种自平衡二叉搜索树模型。

  • 通过这种特殊的树方法,可以处理搜索、删除和添加操作,并且时间复杂度为O(log(N))。

  • 在TreeSet类中,同步总是以手动方式进行的。这意味着多个线程访问并修改一组树。

  • 在同步一些元素之后,它会自然地封装集合。

  • Java TreeSet的访问和检索工作相对较快。它是进行搜索操作以访问大量数据的良好选择。

  • 在TreeSet中,不允许有重复的元素。

  • TreeSet(): 将创建一个新的空TreeSet,并根据自然排序进行排序。

  • TreeSet(Collection c): 将根据集合c中提供的元素创建一个新的TreeSet,并根据自然排序进行排序。

  • TreeSet(Comparator comparator): 将创建一个新的空TreeSet,并根据指定的比较器进行排序。

  • TreeSet(SortedSet s): 将根据排序集s中提供的元素创建一个新的TreeSet,并按相同的顺序进行排序。

步骤

  • 步骤1 − 创建一个新的TreeSet类。

  • 步骤2 − 扩展AbstractSet类。

  • 步骤3 − 将NavigableSet添加到其中。

  • 步骤4 − 对输入数据执行排序。

  • 步骤5 − 收集一个新的数据集。

  • 步骤6 − 迭代整个数据集。

TreeSet的特殊方法 – 语法

public class TreeSet<Element E> extends AbstractSet<Element E> implements NavigableSet<Element E>, Cloneable, Serializable

TreeSet类的treemap包含两个接口。

  • SortedSet

  • NavigableSet

数据元素按升序存储,并通过过程进行导航。

实现Java中TreeSet特殊方法的方法

  • 方法一 – 使用floor()方法实现TreeSet特殊方法

  • 方法二 – 使用lower()方法查找元素

  • 方法三 – 使用ceiling()方法找到最小元素

  • 方法四 – 使用higher()方法从树中找到数据

方法1:floor()方法

floor()方法返回floor中存在的最大元素,语法为“treeSetObject.floor(argument)”。该方法查找小于或等于输入的元素。如果方法无法找到输入的元素,则返回null。

示例1

import java.util.Set;
import java.util.TreeSet;
public class Floorbytutorialp {
   public static void main(String[] args){
      TreeSet<Integer> treeSet= new TreeSet<>(Set.of(07, 16, 10, 1997, 2001, 2022));
      System.out.println("Tree set = " + treeSet);
      System.out.println("floor(16) = "+ treeSet.floor(16));
      System.out.println("floor(07) = "+ treeSet.floor(07));
   }
}

输出

Tree set = [7, 10, 16, 1997, 2001, 2022]
floor(16) = 16
floor(07) = 7

方法2:Lower方法

Lower()方法返回输入元素之前的最大元素。如果为空,则列表中没有元素。

在此处遵循的语法是:

treeSetObject.lower(argument)

示例2

import java.util.*;  
public class TreeSetLowerMethd {  
   public static void main(String as[]){  
      TreeSet <Integer>obj = new TreeSet<Integer>();  
      obj.add(16);     
      obj.add(07);  
      obj.add(10);  
      obj.add(97);  
      obj.add(2001);  
      System.out.println("TreeSet: " +obj);  
      System.out.println("lowest value then 7 : " +obj.lower(7));  
   }  
}

输出

TreeSet: [7, 10, 16, 97, 2001]
lowest value then 7 : null

方法3:使用ceiling()方法找到最小的元素

在Java TreeSet中,ceiling()方法返回最小的数据作为输出。

语法是”treeSetObject.ceiling(argument);”。在这个方法中,输出大于等于输入元素,如果不是,则返回null。

示例3

import java.util.Set;
import java.util.TreeSet;
public class GFG {
   public static void main(String[] args){
      TreeSet<Integer> treeSet= new TreeSet<>(Set.of(07, 16, 10, 2001, 1997));
      System.out.println("tree set = " + treeSet);
      System.out.println("ceiling(60) = "+ treeSet.ceiling(60));
      System.out.println("ceiling(70) = "+ treeSet.ceiling(70));
      System.out.println("ceiling(10) = "+ treeSet.ceiling(10));
   }
}

输出

tree set = [7, 10, 16, 1997, 2001]
ceiling(60) = 1997
ceiling(70) = 1997
ceiling(10) = 10

方法4:使用higher()方法从树中找到数据

The higher()方法在TreeSet方法中返回一个小于输入值的数字。如果找不到所需的数据,将返回NULL。

在这里所使用的语法是”treeSetObject.higher(argument) ;”。

示例1

import java.io.*;
import java.util.Set;
import java.util.TreeSet;
public class treeclasstp {
   public static void main(String[] args){
      TreeSet<Integer> treeSet= new TreeSet<>(Set.of(10, 07, 16, 2001, 97));
      System.out.println("tree set = " + treeSet);
      System.out.println("higher(1000) = "+ treeSet.higher(1000));
      System.out.println("higher(80) = "+ treeSet.higher(80));
      System.out.println("higher(5) = "+ treeSet.higher(5));
   }
}

输出

tree set = [7, 10, 16, 97, 2001]
higher(1000) = 2001
higher(80) = 97
higher(5) = 7

结果

在Java环境中有很多类型的Tree Set特殊方法可用。在本文中,我们讨论了其中一些方法,并根据它们的语法构建了一些Java代码。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程