如何使用包含数据的现有 HashSet 创建 TreeSet?
How to create TreeSet using an existing HashSet with data in it?
我正在尝试使用其中包含数据的现有 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());
我怎样才能做到这一点?
您可以分两步完成:
Set<Bus> treeObject = new TreeSet<>(new BusComparator());
treeObject.addAll(m);
我正在尝试使用其中包含数据的现有 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());
我怎样才能做到这一点?
您可以分两步完成:
Set<Bus> treeObject = new TreeSet<>(new BusComparator());
treeObject.addAll(m);