gpt4 book ai didi

java - 使用比较器对 Java TreeSet 进行排序

转载 作者:行者123 更新时间:2023-12-02 10:38:02 25 4
gpt4 key购买 nike

我正在尝试使用 Comparator 接口(interface)对对象(“Etudiant”)的 TreeSet 进行排序。这是Comparator实现:

import java.util.Comparator;


public class TriParNom implements Comparator<Etudiant>{
public int compare(Etudiant o1, Etudiant o2) {
return o1.getNom().compareTo(o2.getNom());
}
}

这里是 TreeSet 声明和 main 中比较器的调用:

TreeSet<Etudiant> University= new TreeSet<Etudiant>(new TriParNom());

当我声明 TreeSet 并调用比较器时,我在主类中遇到的错误是:没有找到适合 TreeSet(TriParNom) 的构造函数。

请问有什么解决办法吗?提前致谢。

最佳答案

我根据您提供的信息尝试了一个非常简单的实现,然后给您我的结果:

project structure

Etudiant 类是一个非常简单的 pojo

public class Etudiant {

private String nom;

public String getNom() {
return nom;
}

public void setNom(String nom) {
this.nom = nom;
} }

TriParNom 类是您描述的普通比较器:

import java.util.Comparator;

public class TriParNom implements Comparator<Etudiant> {

@Override
public int compare(Etudiant o1, Etudiant o2) {
return o1.getNom().compareTo(o2.getNom());
}

}

这是一个简单的类,带有入口点和示例方法来练习新创建的树集

import java.util.TreeSet;

public class Main {

public static void main(String[] args) {
TreeSet<Etudiant> u = new TreeSet<>(new TriParNom());
System.out.printf("size? %d%n", u.size());
}

}

执行结果如下:

exec

显然,也没有编译错误。

关于java - 使用比较器对 Java TreeSet 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53136315/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com