我正在尝试使用包含数据的现有HashSet创建TreeSet。 但我找不到一个可以传递外部比较器的重载方法?
创建TreeSet时是否可以使用外部比较器?
public static void main(String[] args) {
Set<Bus> m = new HashSet<>();
Bus b1 = new Bus(1, "bhl", "udr");
Bus b2 = new Bus(2, "ahmd", "mum");
m.add(b1);
m.add(b2);
//Below will create treeset using default comparable logic.
Set<Bus> treeObject = new TreeSet<>(m);
// There is no overloaded constructor like this.
Set<Bus> treeObject = new TreeSet<>(m, new BusComparator());
我怎么能做到这一点?
答案 0 :(得分:1)
您可以分两步完成:
Set<Bus> treeObject = new TreeSet<>(new BusComparator());
treeObject.addAll(m);