java - 从具有两个不同大小/长度的两个数组列表中获取相同值的索引
问题描述
我是 Java 新手,我想获得两个数组列表的相同值的索引,但是这两个数组列表的大小/长度不同。这是工作代码:
List<String> new_valueString = new ArrayList<>();
List<String> new_fieldsString = new ArrayList<>();
List<String> oldValueString = new ArrayList<>();
List<String> oldFieldsString = new ArrayList<>();
if (new_fieldsString.size() != 0 && new_valueString.size() != 0) {
for (int l = 0; l < new_fieldsString.size(); l++) {
if (new_fieldsString.get(l).equalsIgnoreCase(oldFieldsString.get(l))) {
field_index = l;
if (!new_valueString.get(field_index).contains(oldValueString.get(field_index))) {
ifUpdated = true;
} else {
ifUpdated = false;
}
}
}
}
我想获取 new_fieldsString 和 oldFieldsString 之间相同值的索引,并使用该索引来比较 new_valueString 和 oldValueString。
解决方案
您好,您的第一个数组需要两个句子,第二个用于与短数组列表进行比较,当您发现条件为真时,不要忘记打破循环,如下所示:
List<String> new_valueString = new ArrayList<>();
List<String> new_fieldsString = new ArrayList<>();
List<String> oldValueString = new ArrayList<>();
List<String> oldFieldsString = new ArrayList<>();
if (new_fieldsString.size() != 0 && new_valueString.size() != 0) {
for (int l = 0; l < new_fieldsString.size(); l++) {
for (int m = 0; m < oldFieldsString.size(); m++) {
if (new_fieldsString.get(l).equalsIgnoreCase(oldFieldsString.get(m))) {
if (!new_valueString.get(l).contains(oldValueString.get(m))) {
ifUpdated = true;
} else {
ifUpdated = false;
}
break;
}
}
}
}
推荐阅读
- mule - dataweave 中的 mule 过滤器逻辑处理
- javascript - 材料表未反映数据源的更改
- css - Angular Material 选项卡活动链接放置下拉箭头
- android - 如何将尺寸 dp 转换为像素?
- java - 如何以编程方式使 Java 库/Android 服务崩溃或停止?
- tensorflow - Bazel 在代理后面构建
- javascript - 为什么银行支付验证系统使用 JavaScript 重定向
- javascript - 使用来自另一个通过 ID 链接的数据更新一个 JSON blob 中的数据元素
- elixir - Ecto - 按月访问日期时间字段
- smtp - DNN 9 SMTP 用户名和密码已自动更改