根据另一个列表对第一个列表进行流过滤

21 浏览
0 Comments

根据另一个列表对第一个列表进行流过滤

经过在这个论坛和谷歌上的搜索,我无法解决相同的问题后,我发表了我的查询。

例如:链接1 链接2 链接3

我试图根据List1中的值来过滤List2(多列)。

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]
期望输出:
 - [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
List listCarName = new ArrayList<>();
// 上述示例中的List 2
List listCar = new ArrayList<>();
// 将值填充到这两个列表中
List listOutput = listCar.stream().filter(e -> e.getName().contains("BMW")).collect(Collectors.toList());

在上述代码中,如果我提供一个特定的值,我可以进行过滤,但不确定如何检查List 2中的Car Name是否存在于List 1中。

希望我的问题清楚,等待指导(我对Java仍然比较新,如果上述查询很基础,请原谅)。

0