首先,有必要明确一下数组和数组之间的区别ArrayList
- 它们根本不是同一件事。
然而,无论哪种情况,你都无法做你想做的事。最接近的可能就是声明你自己的类型。 (编辑:我原来的代码有一个双重or一个字符串...我现在将其更改为双精度and一个字符串。如果有变化请告诉我isn't你的想法是什么。)
public final class DoubleAndString
{
private final String stringValue;
private final double doubleValue;
public DoubleAndString(String stringValue, double doubleValue)
{
this.stringValue = stringValue;
this.doubleValue = doubleValue;
}
public String getString()
{
return stringValue;
}
public String getDouble()
{
return doubleValue;
}
}
然后创建一个ArrayList<DoubleAndString>
or a DoubleAndString[]
.
现在,这感觉有点普通 - 大概双精度和字符串值实际上具有更大的含义 - 例如名称和分数。如果是这样,请将其封装在更合适地描述配对的类型中。
至于订购 - 您could make DoubleAndString
实施Comparable<DoubleAndString>
- 但除非那是only自然排序是有道理的,我会写一个Comparator<DoubleAndString>
:
public class DoubleComparator implements Comparator<DoubleAndString>
{
public int compare(DoubleAndString ds1, DoubleAndString ds2)
{
return Double.compare(ds1.getDouble(), ds2.getDouble());
}
}
然后你可以使用Collections.sort
对一个进行排序ArrayList<DoubleAndString>
or Arrays.sort
对数组进行排序。