java一个list集合是字符串类型的,另一个list集合是对象类型的,想要将字符串类型的集合和对象类型的集合里面某一字段进行对比,字符串类型里面有的对象类型不存在的单独拿出来形成一个新的字符串集合
时间: 2024-10-23 21:09:59 浏览: 14
Java中Json字符串直接转换为对象的方法(包括多层List集合)
在Java中,你可以通过遍历两个列表并逐个比较元素来完成这个任务。假设你的对象有一个公共字段(例如`name`),可以这样做:
```java
List<String> stringList = ...; // 字符串类型的集合
List<Object> objectList = ...; // 对象类型的集合
Set<String> uniqueStrings = new HashSet<>(); // 用于存放只出现在stringList的字符串
for (String str : stringList) {
boolean found = false;
for (Object obj : objectList) {
if (obj instanceof YourObject && ((YourObject)obj).getName().equals(str)) { // 假设YourObject是对象的类型并且有getName()方法
found = true;
break;
}
}
if (!found) {
uniqueStrings.add(str);
}
}
// uniqueStrings 现在包含了仅在stringList中出现的对象所对应的字符串
```
在这个例子中,你需要确保`YourObject`有一个获取名称的方法(如`getName()`),并且你的对象类实现了`equals()`和`hashCode()`方法以便于比较。如果没有提供,需要你自己实现它们。
阅读全文