有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

集合Java树集排序算法

出于好奇,我想知道TreeSet是如何维持秩序的。当然,可以通过元素对象的比较器或任何自定义比较器将新元素添加到以前的元素中。但可能有更好的方法,而不是比较所有方法。让我们看一些代码:

    TreeSet<String> tset= new TreeSet<>(new comparator<String>());
    tset.add("america");
    tset.add("britain");
    tset.add("india");

    tset.add("checksolvakia");
    tset.add("china");
    tset.add("sri_lanka");
    tset.add("zimbabwe");

    for(String str:tset){
        System.out.println(str);
    }

在上面的代码中new comparator<String>()只是一个进行常规字符串比较的自定义比较器

The output drom above code is:
 i have been called times:1
values America America
 i have been called times:2
values Britain America
 i have been called times:3
values india America
 i have been called times:4
values india Britain
 i have been called times:5
values checksolvakia Britain
 i have been called times:6
values checksolvakia india
 i have been called times:7
values china Britain
 i have been called times:8
values china india
 i have been called times:9
values china checksolvakia
 i have been called times:10
values sri_lanka Britain
 i have been called times:11
values sri_lanka china
 i have been called times:12
values sri_lanka india
 i have been called times:13
values zimbabwe Britain
 i have been called times:14
values zimbabwe china
 i have been called times:15
values zimbabwe india
 i have been called times:16
values zimbabwe sri_lanka
america
britain
checksolvakia
china
india
sri_lanka
zimbabwe

现在是问题:
1.为什么把美国和美国相比
2.为什么其他人都不能与美国相比??它被设置为根吗
即使设置为root,为什么不与root进行比较。 3.可以少一些比较,比如说zimbabwe可以和不Britain的东西比较(即不是从一开始)


共 (0) 个答案