java8两个list过滤,使用Java 8迭代和过滤两个列表

I want to iterate two lists and get new filtered list which will have values not present in second list. Can anyone help?

I have two lists - one is list of strings, and the other is list of MyClass objects.

List list1;

List list2;

MyClass {

MyClass(String val)

{

this.str = val;

}

String str;

...

...

}

I want filtered list of strings based on -> check second list for elements (abc) whose values not present in list1.

List list1 = Arrays.asList("abc", "xyz", "lmn");

List list2 = new ArrayList();

MyClass obj = new MyClass("abc");

list2.add(obj);

obj = new MyClass("xyz");

list2.add(obj);

Now I want new filtered list -> which will have value => "lmn". i.e. values not present in list2 whose elements are in list1.

解决方案

this can be achieved using below...

List unavailable = list1.stream()

.filter(e -> !list2.contains(e))

.collect(Collectors.toList());

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值