ArrayList indexOf() và lastIndexOf() trong java với ví dụ cụ thể

Như chúng ta đã biết về các tính chất của ArrayList, các phần tử trong ArrayList có khả năng trùng lặp.

Để tìm vị trí đầu tiên và cuối cùng trong của một phần tử trong ArrayList, chúng ta sẽ cùng nhau tìm hiểu nào!

Tìm vị trí cuối cùng của phần tử trong ArrayList

Để tìm vị trí cuối cùng của phần tử trong ArrayList, chúng ta sử dụng method:

int lastIndexOf(Object o);

Nếu phần tử không được tìm thấy, lastIndexOf() sẽ trả về -1.

Ví dụ, cho ArrayList chứa các số nguyên, trong đó có phần tử 5 xuất hiện nhiều lần trong ArrayList, vị trí cuối cùng mà số 5 xuất hiện.

import java.util.ArrayList;
import java.util.List;

public class Main {

    public static void main(String[] args) {
        List<Integer> arr = new ArrayList<>();
        arr.add(1); arr.add(2); arr.add(3);
        arr.add(5); arr.add(7); arr.add(-1);
        arr.add(5);

        System.out.println("Last index: " + arr.lastIndexOf(5));
    }
}

Output: Last index: 6

Tìm vị trí đầu tiên của phần tử trong ArrayList

Để tìm vị trí đầu tiên của phần tử trong ArrayList. Chúng ta sử dụng method:

int firstIndexOf(Object o);

Ok, các bạn thử code vào IDE xem có chạy được không? Mình không có chạy được! 

Từ các method tìm vị trí cuối cùng lastIndexOf() làm cho chúng ta nghĩ rằng keyword của tìm vị trí đầu tiên là cái gì đó chứa chữ first. Nhưng không nha, chúng ta sẽ sử dụng method

int indexOf(Object o);

Nếu phần tử không được tìm thấy trong ArrayList, indexOf() sẽ trả về -1.

Ví dụ như trên, tìm vị trí xuất hiện đầu tiên của phần tử 5 trong ArrayList.

import java.util.ArrayList;
import java.util.List;

public class Main {

    public static void main(String[] args) {
        List<Integer> arr = new ArrayList<>();
        arr.add(1); arr.add(2); arr.add(3);
        arr.add(5); arr.add(7); arr.add(-1);
        arr.add(5);

        System.out.println("First index: " + arr.indexOf(5));
    }
}

Output: First index: 3

‹Previous Next›

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x