java treeset 比较器,Java TreeSet comparator()用法及代码示例

java.util.TreeSet.comparator()方法具有设置和返回比较器的重要功能,该比较器可用于对TreeSet中的元素进行排序。如果集合遵循元素的自然排序模式,则该方法返回Null值。

用法:

comp_set = (TreeSet)tree_set.comparator()

参数:该方法不带任何参数。

返回值:该方法返回用于以特定顺序对集合中的元素进行排序的比较器集合。如果集合遵循默认或自然排序模式,则它将返回Null值。

以下程序说明了java.util.TreeSet.comparator()方法的用法:

示例1:使用元素的自然顺序时:

// Java code to illustrate comparator()

import java.util.*;

public class Tree_Set_Demo {

public static void main(String[] args)

{

// Creating an empty TreeSet

TreeSet tree_set = new TreeSet();

// Adding elemetns to the set

tree_set.add(20);

tree_set.add(24);

tree_set.add(30);

tree_set.add(35);

tree_set.add(45);

tree_set.add(50);

System.out.println("Tree Set values are: "+ tree_set);

// Creating a comparator

Comparator comp = tree_set.comparator();

// Displaying the comparator values

System.out.println("Since the Comparator value is: "+ comp);

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 code to illustrate the use of comparator()

import java.util.Comparator;

import java.util.TreeSet;

class The_Comparator implements Comparator {

public int compare(String str1, String str2)

{

String first_Str;

String second_Str;

first_Str = str1;

second_Str = str2;

return second_Str.compareTo(first_Str);

}

}

public class Tree_Set_Demo {

public static void main(String[] args)

{

TreeSet tree_set = new TreeSet(new

The_Comparator());

tree_set.add("G");

tree_set.add("E");

tree_set.add("E");

tree_set.add("K");

tree_set.add("S");

tree_set.add("4");

System.out.println("Set before using the comparator: "+

tree_set);

System.out.println("The elements sorted in descending"+

"order:");

for (String element : tree_set)

System.out.print(element + " ");

}

}

输出:

Set before using the comparator: [S, K, G, E, 4]

The elements sorted in descendingorder:

S K G E 4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值