我有 2D ArrayList
,我想找到位于第一列的字符串的索引。
arraylist.get(0).indexOf("My String")
返回位于第一行的字符串的索引。
但我想要这样的东西
arraylist.indexOf("MyString").get(0)
最佳答案
如果我理解正确,您想要找到其中一列具有给定值的行。
您可以做的一件事是转置整个表格,这意味着行变成列,列变成行。然后您就可以使用标准 Java 功能访问所有内容。但这可能有点矫枉过正,并且会假设每行具有相同数量的列。
相反,我建议像这样搜索它:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class JustADemo {
public static void main(String[] args) {
final List<List<String>> table = new ArrayList<>();
table.add(Arrays.asList("R1 C1", "R1 C2", "R1 C3"));
table.add(Arrays.asList("R2 C1", "R2 C2", "R2 C3"));
table.add(Arrays.asList("R3 C1", "R3 C2", "R3 C3"));
int i = findRowWhereColumnEquals(table, "R3 C2");
if (i != -1) {
System.out.println("R3 C2 can be found in row " + i + ".");
} else {
System.out.println("R3 C2 cound not be found.");
}
}
private static int findRowWhereColumnEquals(List<List<String>> table, String value) {
int i = 0;
for (List<String> row : table) {
if (row.contains(value)) {
return i;
}
i++;
}
return -1;
}
}
关于java - 2D ArrayList 在 Java 中查找列中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60315781/