繁体   English   中英

在 Java 中获取 Arraylist 的索引

[英]Getting Index of Arraylist in Java

    ArrayList<String> str = new ArrayList<String>();
    String s1 ="Test1";
    String s2 ="Test2";
    str.add(s1);
    str.add(s2);

我想将一个字符串与数组的元素之一进行比较。

    String b = "Test1";

    b.equals(str[index??]);

我怎样才能得到str的索引?

你可以试试这样的

    ArrayList<String> str = new ArrayList<String>();
    ...
    boolean found = false;
    for(String string : str)
    found =b.equals(string);

除此之外,您可以使用列表的get方法。

如果您的数组已排序,请使用二分搜索。 否则,只需在数组列表中线性排列,然后比较值。

在你的情况下:

boolean find = false;
for(i=0;i<str.length;i++){
    if(str.get(i) == b){
       find = true;
       break;
    }
}

你想要List.get(int) (其中int是索引)。 例如,

List<String> al = Arrays.asList("Test1", "Test2");
System.out.println(al.get(0).equals("Test1"));

输出是

true

您可以使用indexOf()方法。

ArrayList<String> str = new ArrayList<String>();
String s1 ="Test1";
String s2 ="Test2";
str.add(s1);
str.add(s2);

System.out.println(str.indexOf("Test1"));

如果你想使用 str.get(index) 方法然后检查使用循环,但我发现这更复杂。

for(int i = 0; i < list.size(); ++i)
  if(list.get(i).equals("rtes"))
    return i;

它是一个数组列表。 因此,要存储具有特定索引的数组值,请使用以下命令:

ArrayList.get(index);

现在,您可以使 this 等于这样的变量:

 String mStr = ArrayList.get(index);

如果我有一个值为"1, 2, 3, 4"的数组列表,请务必注意,索引 0 是值 1。

ArrayList.get(0) //HERE, THE INDEX IS ZERO, MEANING THE VALUE OF THE ARRAY LIST WOULD BE 1

输出: 1


这很容易混淆; 索引 0 = 第一个值。 请务必使用 get() 方法。

要进一步比较字符串,请将值设置为等于字符串:

 String FIRSTSTRING= ArrayList.get(0);
 String SECONDSTRING= ArrayList.get(1);

在这里,我正在比较数组列表的第一个和第二个值。

如果您觉得这有帮助,请将其标记为最佳答案。 如果您需要更多帮助,请随时问我,我很乐意提供帮助!

{Ruchir}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM