gpt4 book ai didi

java - 如何使用集合框架java对 vector 列表进行排序

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

我正在尝试使用 Java 集合框架对 Vector 列表进行排序。

这是我的代码...

public class RiverList {

public static void main(String[] args) {
Vector<River> rivers = new Vector<River>();
//name length and discharge

River river3 = new River("Nil", 6852, 2660);
River river5 = new River("Amazonas", 6448, 209000);
River river1 = new River("Rhein", 1233, 2330);
River river4 = new River("Donau", 2857, 6700);
River river2 = new River("Oker", 128, 12);

rivers.add(river1);
rivers.add(river2);
rivers.add(river3);
rivers.add(river4);
rivers.add(river5);

System.out.println(rivers);

// sort the river after length with help class collection

System.out.println(rivers);

// sort the river after discharge with help class collection

System.out.println(rivers);
}
}

public class River {
private int length;
private int discharge;
private String name;

public River(String name, int length, int discharge) {
this.name = name;
this.length = length;
this.discharge = discharge;
}

// getters and setters
...

public String toString() {
return name + ", Length = " + length + ", discharge = " + discharge + "\n";
}
}

这是我所做的,但我不知道如何进一步进行......

public class RiverLengthComparator implements Comparator {
public int compare(Object arg0, Object arg1) {
return 0;
}
}

public class RiverDischargeComparator implements Comparator {
public int compare(Object o1, Object o2) {
return 0;
}
}

输出应该是这样的(河流长度)...

("Nil", 6852, 2660);
("Amazonas", 6448, 209000);
("Donau", 2857, 6700);
("Rhein", 1233, 2330);
("Oker", 128, 12);

河流排放......

("Amazonas", 6448, 209000);
("Donau", 2857, 6700);
("Nil", 6852, 2660);
("Rhein", 1233, 2330);
("Oker", 128, 12);

有人可以帮我解决这个问题吗?

最佳答案

也许你的compare方法应该返回除 0 之外的其他内容;)想想你想要实现什么并阅读 Comparator 的文档界面。

也许使用Comparator<River>而不仅仅是Comparator这将是第一步。

最后你可能想使用Collections.sort(rivers, new RiverLengthComparator());与您想要使用的比较器。

关于java - 如何使用集合框架java对 vector 列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11243257/

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