List<Parttopart> parttopartList里面如何根据supid和subid去重复数据,详细代码
时间: 2024-11-13 17:40:33 浏览: 13
在Java中,如果你有一个`List<PartTopart>`,其中`PartTopart`是一个包含`supid`和`subid`属性的对象列表,并且你想去除重复的数据,你可以使用`Set`集合,因为它不允许有重复元素。这里是一个简单的示例:
```java
import java.util.*;
// 假设PartTopart类有一个名为supid和subid的字段
class PartTopart {
private int supid;
private int subid;
// 构造函数和getter/setter省略...
}
public class RemoveDuplicatesExample {
public static void main(String[] args) {
List<PartTopart> partTopartList = ... // 你的原始列表
// 使用HashSet替换List,自动去重
Set<PartTopart> uniquePartToparts = new HashSet<>(partTopartList);
// 将去重后的Set转换回List
List<PartTopart> uniqueList = new ArrayList<>(uniquePartToparts);
// 打印去重后的列表
for (PartTopart item : uniqueList) {
System.out.println("SupID: " + item.supid + ", SubID: " + item.subid);
}
// 如果需要按原顺序,可以考虑使用TreeSet,因为它是有序的,但注意它不允许自定义排序规则
// TreeSet uniquePartToparts = new TreeSet<>(Comparator.comparing(PartTopart::getSupid));
// uniqueList = new ArrayList<>(uniquePartToparts); // 这里不需要额外转换,TreeSet已经是有序的
}
}
```
在这个例子中,我们创建了一个`HashSet`来存储唯一的`PartTopart`对象,然后将其转换回`ArrayList`以便进一步处理。如果需要保持元素插入的原有顺序,应该使用`LinkedHashSet`。
阅读全文