Java ArrayList indexOf()方法返回指定元素在arraylist中的位置。
indexOf()方法的语法为:
arraylist.indexOf(Object obj)
indexOf()参数
obj - 要返回其位置的元素
如果同一元素obj存在于多个位置,则返回arraylist中第一个出现的元素的位置。
indexOf()返回值
从arraylist返回指定元素的位置
注意:如果列表中不存在指定的元素,则该indexOf()方法返回 -1。
示例1:获取ArrayList元素的索引
import java.util.ArrayList; class Main { public static void main(String[] args) { //创建 ArrayList ArrayList<Integer> numbers = new ArrayList<>(); // 将元素插入到arraylist numbers.add(22); numbers.add(13); numbers.add(35); System.out.println("Number ArrayList: " + numbers); //查找元素13的位置 int position1 = numbers.indexOf(13); System.out.println("13的索引值: " + position1); //查找元素50的位置 int position2 = numbers.indexOf(50); System.out.println("50的索引值: " + position2); } }
输出结果
Number ArrayList: [22, 13, 35] 13的索引值: 1 50的索引值: -1
在上面的示例中,我们创建了一个名为numbers的数组列表。注意这些表达式,
// 反回 1 numbers.indexOf(13) // 返回 -1 numbers.indexOf(50)
在此,indexOf()方法成功返回元素13的位置。但是,元素50在arraylist中不存在。因此,该方法返回-1。
示例2:获取元素第一次出现的位置
import java.util.ArrayList; class Main { public static void main(String[] args) { //创建 ArrayList ArrayList<String> languages = new ArrayList<>(); //将元素插入到arraylist languages.add("JavaScript"); languages.add("Python"); languages.add("Java"); languages.add("C++"); languages.add("Java"); System.out.println("编程语言: " + languages); //获取Java的位置 int position = languages.indexOf("Java"); System.out.println("第一次出现Java: " + position); } }
输出结果
编程语言: [JavaScript, Python, Java, C++, Java] 第一次出现Java: 2
在上面的示例中,我们创建了一个名为languages的数组列表。在这里,我们使用indexOf()方法来获取元素Java的位置。
但是,Java存在于列表中的两个不同位置。在这种情况下,该方法返回Java第一次出现(即2)的位置。
并且,如果我们想获得的最后一次出现Java的位置,可以使用lastIndexOf()方法。
注意:我们还可以使用Java ArrayList get()方法来获取指定位置的元素。