获取两个list<对象>没有的那部分
时间: 2023-08-18 11:09:58 浏览: 46
获取两个list<对象>没有的那部分,可以通过以下步骤实现:
1. 遍历第一个列表,获取每个对象的关键属性,使用集合(Set)存储这些属性。
2. 遍历第二个列表,获取每个对象的关键属性,使用另一个集合(Set)存储这些属性。
3. 使用集合(Set)的差集操作,即可得到第一个列表中有,而第二个列表中没有的那部分对象。
以下是一个Python语言的示例代码:
```
# 假设对象列表为object_list_1和object_list_2,对象有一个get_key方法用于获取关键属性
key_set_1 = set(obj.get_key() for obj in object_list_1)
key_set_2 = set(obj.get_key() for obj in object_list_2)
diff_set = key_set_1 - key_set_2
# 获取第一个列表中有,而第二个列表中没有的对象列表
result_list = [obj for obj in object_list_1 if obj.get_key() in diff_set]
```
请注意,这只是一个示例代码,具体实现方式还需要根据实际情况进行调整。另外,需要注意的是,该方法只适用于对象有唯一关键属性且该属性的取值不重复的情况。如果对象没有唯一关键属性或者属性取值可能重复,则需要根据实际情况进行调整。
相关问题
获取两个List<对象>没有的那部分 java实现
在Java中,获取两个List对象没有的那部分也可以使用类似的方法实现。以下是一个Java语言的示例代码:
```java
// 假设对象列表为objectList1和objectList2,对象有一个getKey()方法用于获取关键属性
Set<Object> keySet1 = objectList1.stream().map(Object::getKey).collect(Collectors.toSet());
Set<Object> keySet2 = objectList2.stream().map(Object::getKey).collect(Collectors.toSet());
Set<Object> diffSet = new HashSet<>(keySet1);
diffSet.removeAll(keySet2);
// 获取第一个列表中有,而第二个列表中没有的对象列表
List<Object> resultList = objectList1.stream().filter(obj -> diffSet.contains(obj.getKey())).collect(Collectors.toList());
```
请注意,这只是一个示例代码,具体实现方式还需要根据实际情况进行调整。另外,需要注意的是,该方法只适用于对象有唯一关键属性且该属性的取值不重复的情况。如果对象没有唯一关键属性或者属性取值可能重复,则需要根据实际情况进行调整。
获取两个list<对象>没有的那部分 java实现
在Java中,获取两个List对象没有的那部分也可以使用类似的方法实现。以下是一个Java语言的示例代码:
```java
// 假设对象列表为objectList1和objectList2,对象有一个getKey()方法用于获取关键属性
Set<Object> keySet1 = objectList1.stream().map(Object::getKey).collect(Collectors.toSet());
Set<Object> keySet2 = objectList2.stream().map(Object::getKey).collect(Collectors.toSet());
Set<Object> diffSet = new HashSet<>(keySet1);
diffSet.removeAll(keySet2);
// 获取第一个列表中有,而第二个列表中没有的对象列表
List<Object> resultList = objectList1.stream().filter(obj -> diffSet.contains(obj.getKey())).collect(Collectors.toList());
```
请注意,这只是一个示例代码,具体实现方式还需要根据实际情况进行调整。另外,需要注意的是,该方法只适用于对象有唯一关键属性且该属性的取值不重复的情况。如果对象没有唯一关键属性或者属性取值可能重复,则需要根据实际情况进行调整。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)