JAVA:使用树图方法获取对象的变量

问题描述

假设我有一个名为 Car 的对象:

public class Car(){
  String model;
  String brand;
  Integer yearReleased;
  float price;
}

并创建一个名为cars的汽车树状图:

TreeMap<Integer,Car> cars = new TreeMap<Integer,Car>();

有没有一种方法可以在树列表中搜索汽车的型号?类似于 .getKey() 但允许搜索对象变量。我正在尝试创建一个搜索函数,其中它具有树形图和要搜索的模型的参数并返回键。

public searchModel(TreeMap<Integer,Car> list,String model){
  return list.getKey(model);
}

解决方法

如果模型和地图的整数键之间没有关系,您别无选择,只能迭代其所有值:

public List<Car> searchModel(TreeMap<Integer,Car> map,String model){
  return map.values()
            .stream()
            .filter(c -> c.model.equals(model))
            .collect(Collectors.toList());
}