首页 > 解决方案 > 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);
}

标签: javatreemap

解决方案


如果模型和地图的 Integer 键之间没有关系,您别无选择,只能遍历其所有值:

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

推荐阅读