java - 如何在不使用 'comparable' 的情况下获取 ArrayList 中的最小值

标签 java sorting arraylist

这是我的数组

 ArrayList cars = new ArrayList();
    cars.add(new vehicles ("CAR","Peugot","3008",12500.00));
    cars.add(new vehicles ("CAR","BMW","316",4995.00));
    cars.add(new vehicles ("CAR","Ford","Fiesta",2995.00));

我想要一种方法将这些从最便宜的开始按顺序排列,但我不想使用比较方法。也许创建一个临时变量并检查该变量的值并覆盖这些值(如果它们更便宜)。

我试过了

public static void main(String[] args){

    ArrayList carsArray = new ArrayList();
    carsArray.add(new vehicles ("CAR","Peugot","3008",12500.00));
    carsArray.add(new vehicles ("CAR","BMW","316",4995.00));
    carsArray.add(new vehicles ("CAR","Ford","Fiesta",2995.00));


    vehicles lowestPrice = (vehicles) carsArray.get(0);
    for(vehicles car : carsArray){
        if(car.Cost<lowestPrice.Cost){
            lowestPrice = car;
        }
    }

}

但我仍然犯了一个错误:/for循环中的“carsArray”用红色下划线标出

最佳答案

您可以使用以价格为键、以车辆对象为值的 TreeMap。然后,它将按价格排序,您将获得车辆的所有信息作为值(value)。

关于java - 如何在不使用 'comparable' 的情况下获取 ArrayList 中的最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23138636/

相关文章:

java - Jenkins Maven项目本环境未提供编译器

java - 带文本文件和比较索引的摩尔斯电码

Java UML图

java - ChannelHandler 不是可共享的处理程序

java - 自定义渲染器中单元格内容的 JTable 对齐

java - 使用静态方法泛型时不兼容的类型

python - 在python中,按日期字段排序,字段有时可能为空

c++ - 尝试运行指针排序算法时出现段错误(核心已转储)

python - 快速找到保留排序的 pandas DataFrame 的所有排列的方法?

java - 从方法返回迭代器