Java ArrayList indexOf()方法返回指定元素在arraylist中的位置。
indexOf()方法的語(yǔ)法為:
arraylist.indexOf(Object obj)
obj - 要返回其位置的元素
如果同一元素obj存在于多個(gè)位置,則返回arraylist中第一個(gè)出現(xiàn)的元素的位置。
從arraylist返回指定元素的位置
注意:如果列表中不存在指定的元素,則該indexOf()方法返回 -1。
import java.util.ArrayList; class Main { public static void main(String[] args) { //創(chuàng)建 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); } }
輸出結(jié)果
Number ArrayList: [22, 13, 35] 13的索引值: 1 50的索引值: -1
在上面的示例中,我們創(chuàng)建了一個(gè)名為numbers的數(shù)組列表。注意這些表達(dá)式,
// 反回 1 numbers.indexOf(13) // 返回 -1 numbers.indexOf(50)
在此,indexOf()方法成功返回元素13的位置。但是,元素50在arraylist中不存在。因此,該方法返回-1。
import java.util.ArrayList; class Main { public static void main(String[] args) { //創(chuàng)建 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("編程語(yǔ)言: " + languages); //獲取Java的位置 int position = languages.indexOf("Java"); System.out.println("第一次出現(xiàn)Java: " + position); } }
輸出結(jié)果
編程語(yǔ)言: [JavaScript, Python, Java, C++, Java] 第一次出現(xiàn)Java: 2
在上面的示例中,我們創(chuàng)建了一個(gè)名為languages的數(shù)組列表。在這里,我們使用indexOf()方法來(lái)獲取元素Java的位置。
但是,Java存在于列表中的兩個(gè)不同位置。在這種情況下,該方法返回Java第一次出現(xiàn)(即2)的位置。
并且,如果我們想獲得的最后一次出現(xiàn)Java的位置,可以使用lastIndexOf()方法。
注意:我們還可以使用Java ArrayList get()方法來(lái)獲取指定位置的元素。