去除List<Tmhma02> items集合中Tmhma02对象里bsUnloadPriceRule字段相同的对象
时间: 2024-11-03 08:23:49 浏览: 17
如果你想要从`List<Tmhma02>`集合中去除所有具有相同`bsUnloadPriceRule`字段的对象,可以按照以下步骤操作:
1. 首先,你需要创建一个辅助数据结构,比如一个哈希表(HashMap),键是`bsUnloadPriceRule`值,值是一个列表用来存储具有相同规则的对象。
```java
Map<Integer, List<Tmhma02>> ruleToItems = new HashMap<>();
```
2. 然后遍历`items`集合,对于每个元素,检查它的`bsUnloadPriceRule`是否已经在映射中。如果不在,添加到对应键的列表中;如果已在,就忽略这个对象。
```java
for (Tmhma02 item : items) {
Integer ruleValue = item.getBsUnloadPriceRule();
if (!ruleToItems.containsKey(ruleValue)) {
ruleToItems.put(ruleValue, new ArrayList<>());
}
ruleToItems.get(ruleValue).add(item);
}
```
3. 接下来,你可以遍历哈希表,将每个键对应的唯一对象放入一个新的集合中,以便移除重复项。
```java
List<Tmhma02> uniqueItems = new ArrayList<>();
for (List<Tmhma02> itemList : ruleToItems.values()) {
uniqueItems.addAll(itemList);
}
```
4. 最后,你可以用`uniqueItems`替换原来的`items`列表,从而得到去重后的结果。
```java
items.clear();
items.addAll(uniqueItems);
```
阅读全文