java代码:将集合schemeList其中的一个以逗号隔开的字段拆开,与其他值比较
时间: 2023-12-03 21:42:27 浏览: 27
假设我们有一个 `Scheme` 类,其中包含一个 `String` 类型的字段 `field`,我们需要将其以逗号为分隔符拆开,并与其他 `Scheme` 对象的 `field` 值进行比较。可以使用以下代码:
```java
List<Scheme> schemeList = new ArrayList<>(); // 假设已经初始化了 Scheme 对象列表
int targetIndex = 0; // 假设需要拆分的是第一个 Scheme 对象的 field 字段
String[] targetFields = schemeList.get(targetIndex).getField().split(","); // 拆分 field 字段
for (int i = 0; i < schemeList.size(); i++) {
if (i == targetIndex) {
continue; // 跳过自身
}
String[] fields = schemeList.get(i).getField().split(",");
boolean isEqual = false;
for (String targetField : targetFields) {
for (String field : fields) {
if (targetField.equals(field)) {
isEqual = true;
break;
}
}
if (isEqual) {
break;
}
}
if (isEqual) {
System.out.println("第 " + targetIndex + " 个 Scheme 对象的 field 字段与第 " + i + " 个 Scheme 对象的 field 字段存在相同部分");
} else {
System.out.println("第 " + targetIndex + " 个 Scheme 对象的 field 字段与第 " + i + " 个 Scheme 对象的 field 字段不存在相同部分");
}
}
```
上述代码中,我们首先获取了需要拆分的 `Scheme` 对象的 `field` 字段,并使用逗号为分隔符进行拆分,得到一个字符串数组 `targetFields`。然后遍历其他的 `Scheme` 对象,对于每个对象都将其 `field` 字段以逗号为分隔符拆分,并与 `targetFields` 进行比较,如果存在相同的字符串,则将 `isEqual` 标记为 `true`。最后根据 `isEqual` 的值输出相应的信息。