Tôi đã tạo một danh sách số nguyên và đang cố trả về chỉ mục của một giá trị cụ thể. Mảng là 3,8,2,5,1,4,7,6 và tôi muốn trả lại chỉ mụcOf (3), phải là 0.Tại sao indexOf không tìm thấy đối tượng?
Tôi đã thử những điều sau đây trong sổ ghi chép Java Eclipse sau khi nhập java.util *:.
int[] A = {3,8,2,5,1,4,7,9};
Arrays.asList(A).indexOf(3)
tôi cũng đã cố gắng:
int[] A = {3,8,2,5,1,4,7,6};
ArrayList<Integer> l = new ArrayList(Arrays.asList(A));
l.indexOf(3)
Cả hai đều trở về -1. Tại sao? Làm thế nào để có được điều này để làm việc như mong đợi?
Cảm ơn bạn đã trả lời tất cả mọi người. Với thay đổi đó mặc dù tôi sẽ phải thay đổi cấu trúc dữ liệu của mình, vì vậy thay vào đó tôi sẽ sử dụng phương thức binarySearch vì nó sẽ làm việc trên các mảng int []. – rishimaharaj
Chỉ cần được cảnh báo rằng điều đó sẽ chỉ hoạt động trên các mảng _sorted_ 'int []', mà các ví dụ bạn mô tả là không. –
@LouisWasserman Tôi không nhận được bình luận của bạn và upvotes nó nhận được. 'indexOf'" Trả về chỉ mục của lần xuất hiện đầu tiên của phần tử được chỉ định trong danh sách này, hoặc -1 nếu danh sách này không chứa phần tử. " - vậy tại sao nó không hoạt động cho các mảng tùy ý? – arekolek