我有 2 个 String[] 数组。
第一个是itemArray,它包含产品名称。 第二个是 priceArray,它包含每个项目的价格。
itemArray[0] 与 priceArray[0] 相关 itemArray[1] 与 priceArray[1] 相关
我需要根据价格对数组进行排序。
使用下面的代码将对价格数组进行排序
List<Float> pricefloatArrayTo Order = new ArrayList<Float>();
for (String s : priceArray) {
pricefloatArrayTo (Float.valueOf(s));
}
Collections.sort(pricefloatArrayTo );
唯一的问题是,itemArray 现在需要根据 priceArray 进行排序,以便数组再次匹配。
谁能推荐一种方法,我可以使用它来根据 priceArray 对两个数组进行排序。提前致谢
最佳答案
如何不将元素分隔在两个数组中,而是创建一个包含价格和项目的新类。你可以让他们让这个类实现 Comparable您可以使用该接口(interface)按价格对包含此新类的数组进行排序。
例如:
public class Item implements Comparable<Item> {
public String name;
public BigDecimal price;
@Override
public int compareTo( Item o ) {
return price.compareTo( o.price );
}
}
(为了清楚起见,我删除了正常的 get/set 封装和 null 检查)
然后您可以获得此类的数组(或列表),然后您可以对其进行排序。
关于java - 订购 2 个相关阵列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6690756/