TreeSet是 分类数据集接口 在Java中,使用 树 用于储存。元素的顺序由一个集合使用它们的自然顺序来维持,无论是否是显式排序 比较器 提供。如果要正确实施该计划,这必须与equals保持一致 设置接口 .
null
这个 comparator()方法 在java中出现过。util。TreeSet具有设置和返回比较器的重要功能,比较器可用于对TreeSet中的元素进行排序。如果集合遵循元素的自然排序模式,则该方法返回空值。
语法:
comp_set = (TreeSet)tree_set.comparator()
参数: 该方法不采用任何参数。
返回值: 比较器集合用于按特定顺序对集合中的元素进行排序。如果集合遵循默认或自然排序模式,则返回空值。
这里我们将在下面举两个例子,一个之前我们将使用元素的自然顺序,稍后我们将使用一个特定的比较器来更好地理解它。
例1: 使用元素的自然顺序
JAVA
// Java Program to illustrate the use of comparator() method // While using the natural ordering of the elements // Importing utility classes import java.util.*; // Main class // TreeSet Demo class public class GFG { // Main driver method public static void main(String[] args) { // Creating an empty TreeSet of integer type TreeSet<Integer> tree_set = new TreeSet<Integer>(); // Adding elements to the set // using add() method tree_set.add( 20 ); tree_set.add( 24 ); tree_set.add( 30 ); tree_set.add( 35 ); tree_set.add( 45 ); tree_set.add( 50 ); // Printing elements inside TreeSet object System.out.println( "Tree Set values are: " + tree_set); // Creating a comparator Comparator comp = tree_set.comparator(); // Print and display the comparator values System.out.println( "Since the Comparator value is: " + comp); // Display message only System.out.println( "it follows natural ordering" ); } } |
输出:
Tree Set values are: [20, 24, 30, 35, 45, 50] Since the Comparator value is: null it follows natural ordering
例2: 使用特定的比较器
JAVA
// Java code to illustrate the use of comparator() // While using a specific comparator // Importing Comparator and TreeSet classes // from java.util package import java.util.Comparator; import java.util.TreeSet; // Class 1 // Helper class class Helper implements Comparator<String> { // Method // To compare two strings public int compare(String str1, String str2) { String first_Str; String second_Str; first_Str = str1; second_Str = str2; // using compareTo() to ensure return second_Str.compareTo(first_Str); } } // Main class // TreeSetDemo class public class GFG { // Main driver method public static void main(String[] args) { // Creating an empty TreeSet of string type TreeSet<String> tree_set = new TreeSet<String>(); // Adding elements to our TreeSet object // using add() method tree_set.add( "G" ); tree_set.add( "E" ); tree_set.add( "E" ); tree_set.add( "K" ); tree_set.add( "S" ); tree_set.add( "4" ); // Printing elements in set before using comparator System.out.println( "Set before using the comparator: " + tree_set); // Again creating an empty TreeSet of string type // with reference to Helper class TreeSet<String> tree_set1 = new TreeSet<String>( new Helper()); // Adding elements to our TreeSet object // using add() method tree_set1.add( "G" ); tree_set1.add( "E" ); tree_set1.add( "E" ); tree_set1.add( "K" ); tree_set1.add( "S" ); tree_set1.add( "4" ); // Printing elements in set before using comparator System.out.println( "The elements sorted in descending order:" + tree_set1); } } |
输出
Set before using the comparator: [4, E, G, K, S] The elements sorted in descending order:[S, K, G, E, 4]
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END