我尝试对一个双精度数组进行排序,但用另一个字符串数组进行排序:这意味着我有以下内容:
Double[] values = {6.3, 5.5 , 7.0};
String [] names ={"samah","Dalal", "Mohammad"};
samah
有5.5
,Dalal
有6.3
和Mohammad
有7.0
如果我想对双精度值进行排序,使用此方法很简单:
Arrays.sort(values);
在这种情况下,结果是 {5.5,6.3,7.0}
但是,我将如何保持这种名称数组呢?结果必须是:{"Dalal","samah","Mohammad"}
谢谢
添加一个同时包含值和Implement的新类型Comparable
。
public class Person implements Comparable<Person> {
private String name;
private double score;
public Person(final String name, final double score) {
this.name = name;
this.score = score;
}
public String getName() {
return name;
}
public void setName(final String name) {
this.name = name;
}
public double getScore() {
return score;
}
public void setScore(final double score) {
this.score = score;
}
@Override
public int compareTo(final Person another) {
return Double.compare(score, another.score);
}
}
现在Person
,按排序时应按得分排序的数组Arrays.sort()
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句