List<String[]> data = new ArrayList<>();
data.add(new String[]{"bdc", "house2", "car2"});
data.add(new String[]{"abc", "house", "car"});
我不得不对此提出疑问:
如果找到例如,如果我有abc
,那么值或第二个参数是什么,我想找到值house
? (我不知道我的第二个论点当然只是第一个);
如果我再次举例String[]
,如何删除所有abc
?
答案 0 :(得分:2)
array[index]
,知道index
从0
转到array.length - 1
。 Collection
的元素,可以使用iterator.remove()
。 所以你的代码看起来像:
// Flag used to know if it has already been found
boolean found = false;
for (Iterator<String[]> it = data.iterator(); it.hasNext();) {
String[] values = it.next();
// Check if the first element of the array is "abc"
if (values.length > 1 && "abc".equals(values[0])) {
if (found) {
// Already found so we remove it
it.remove();
continue;
}
// Not found yet so we simply print it
System.out.println(values[1]);
found = true;
}
}
<强>输出:强>
house
响应更新:
由于您似乎想在获得匹配时在列表中获取索引,因此您只需添加一个变量index
,您将在for
循环中增加该值。
int index = 0;
for (Iterator<String[]> it = data.iterator(); it.hasNext();index++) {
...
if (values.length > 1 && "abc".equals(values[0])) {
System.out.printf("abc found at %d%n", index);
...
}
}
<强>输出:强>
abc found at 1
house