基于另一个列表的 1 个列表的流筛选器
我在此论坛和Google中搜索后发布了我的查询,但无法解决相同的问题。例如: 链接1 链接2 链接3
我正在尝试根据列表 1 中的值筛选列表 2(多列)。
List1:
- [Datsun]
- [Volvo]
- [BMW]
- [Mercedes]
List2:
- [1-Jun-1995, Audi, 25.3, 500.4, 300]
- [7-Apr-1996, BMW, 35.3, 250.2, 500]
- [3-May-1996, Porsche, 45.3, 750.8, 200]
- [2-Nov-1998, Volvo, 75.3, 150.2, 100]
- [7-Dec-1999, BMW, 95.3, 850.2, 900]
expected o/p:
- [7-Apr-1996, BMW, 35.3, 250.2, 500]
- [2-Nov-1998, Volvo, 75.3, 150.2, 100]
- [7-Dec-1999, BMW, 95.3, 850.2, 900]
法典
// List 1 in above eg
List<dataCarName> listCarName = new ArrayList<>();
// List 2 in above eg
List<dataCar> listCar = new ArrayList<>();
// Values to the 2 lists are populated from excel
List<dataCar> listOutput = listCar.stream().filter(e -> e.getName().contains("BMW")).collect(Collectors.toList());
在上面的代码中,如果我提供一个特定的值,我可以过滤,但不确定如何检查列表2中的汽车名称是否退出列表1。
希望我面临的问题很清楚,等待指导(我对Java还比较陌生,因此如果上面的查询非常基本,请原谅)。
编辑我相信上面提供的link-3应该可以解决,但在我的情况下它不起作用。也许是因为 list-1 中的值被填充为 org.gradle04.Main.Cars.dataCarName@4148db48 ..等。只有当我通过调用getName方法在列表1上执行forEach时,我才能以人类可读的格式获得值。