从ArrayList java中提取set值下的项目

时间:2013-12-04 22:50:30

标签: java arraylist return

我有一个数组列表设置cars = new ArrayList();哪个工作正常但我需要循环浏览列表中的汽车列表并选择10000以下的任何一个,我将变量预算设置为10000.我还需要返回RegNumber,这是一个字段中的汽车中的字段名单。以下是我所拥有的,它对我不起作用。有什么想法吗?

public String listBudgetCars()
{
    if (cars.size() > 0)
    {   
        for (Car car : cars)
        {
            if(car.getPrice() > budget)
            {
                listBudgetCars = car;
            }
        }
        return listBudgetCars.getRegNumber();
    }
    else
    {
       return "No Cars";
    }

}

3 个答案:

答案 0 :(得分:4)

假设cars已初始化并在其他地方填充,您需要以下内容:

public List<Car> budgetCars() {
    List<Car> budgetCars = new ArrayList<>();
    for (Car car : cars) {
        if (car.price < budget) {
            budgetsCars.add(car);
        }
    }

    return budgetCars;
}

现在budgetsCars是您需要的汽车列表。

答案 1 :(得分:3)

如果您使用的是Java 8,则可以应用过滤功能:

List<Cars> budgetCars = cars.stream()
                            .filter(c -> c.getPrice() < budget)
                            .collect(Collectors.toList());

答案 2 :(得分:0)

根据预算选择任何一辆车并返回注册号码。假设第一次出现选择。

建议使用BigDecimal作为货币。 [used int]

public static String getRegistrationNumberUnderBudget(List<Car> cars, int budget) {
   if(cars != null) {
       for(Car car : cars) {
           if(car.getPrice() < budget) {
               return car.getRegNumber();
           }
       }
   } 
   return "No cars found";
}