Метод lastIndexOf
Метод lastIndexOf класса ArrayList возвращает
индекс последнего вхождения указанного элемента в списке.
Если элемент не найден, метод возвращает -1.
В первый параметр мы передаем элемент, индекс которого
нужно найти. Поиск ведется с конца списка к началу.
Синтаксис
ArrayList<Type> list = new ArrayList<>();
list.lastIndexOf(Object element)
Пример
Давайте найдем индекс последнего вхождения элемента
"c" в списке:
import java.util.ArrayList;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
ArrayList<String> list = new ArrayList<>(List.of("a", "b", "c", "b", "c", "d"));
int res = list.lastIndexOf("c");
System.out.println(res);
}
}
Результат выполнения кода:
4
Пример
Давайте попробуем найти элемент, которого нет в списке:
import java.util.ArrayList;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
ArrayList<String> list = new ArrayList<>(List.of("a", "b", "c", "d", "e"));
int res = list.lastIndexOf("z");
System.out.println(res);
}
}
Результат выполнения кода:
-1
Пример
Давайте найдем индекс последнего вхождения числа
3 в списке чисел:
import java.util.ArrayList;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
ArrayList<Integer> list = new ArrayList<>(List.of(1, 2, 3, 4, 3, 5));
int res = list.lastIndexOf(3);
System.out.println(res);
}
}
Результат выполнения кода:
4
Пример
Давайте сравним результат работы методов indexOf
и lastIndexOf для одного и того же списка:
import java.util.ArrayList;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
ArrayList<String> list = new ArrayList<>(List.of("a", "b", "c", "b", "c", "d"));
System.out.println(list.indexOf("b"));
System.out.println(list.lastIndexOf("b"));
}
}
Результат выполнения кода:
1
3