1. 程式人生 > 其它 >Java當中ArrayList的indexOf()方法總結,String型別和其它型別的不同

Java當中ArrayList的indexOf()方法總結,String型別和其它型別的不同

技術標籤:Javajavaspring

一 、語法:找到元素返回值是對應找到的元素的下標0到n,沒找到返回值是-1

arraylist.indexOf(Object obj)

二、當Object是String的時候,即使是不同的String只要內容相同就可以找到

import java.util.ArrayList;
import java.util.List;
public class Test2 {
    public static void main(String[] args) {
        List<String> stringlist = new ArrayList
<>(); String a = "AA"; stringlist.add(a); int res = stringlist.indexOf("AA"); System.out.println(res); } }

結果輸出0

import java.util.ArrayList;
import java.util.List;
public class Test2 {
    public static void main(String[] args) {
        List<
String>
stringlist = new ArrayList<>(); String a = "AA"; stringlist.add(a); String b = "AA"; int res = stringlist.indexOf(b); System.out.println(res); } }

在這裡插入圖片描述

二、當Object是封裝類的時候,indexOf當中的Object必須是放入到ArrayList當中的物件,如果是新建立的物件,即使名稱一樣也無法找到

案例一:找到
import java.util.ArrayList;
import java.util.List;
class Patient{
    String name;
    public Patient(String name){
        this.name=name;
    }
}
public class Test {
    public static void main(String[] args) {
        List ps = new ArrayList();
        Patient p2 = new Patient("Mike");
        ps.add(p2);
        int f = ps.indexOf(p2);
        if(f >= 0){
            System.out.println("Mike Found");
        }
    }
}

在這裡插入圖片描述

案例二:無法找到
import java.util.ArrayList;
import java.util.List;
class Patient{
    String name;
    public Patient(String name){
        this.name=name;
    }
}
public class Test {
    public static void main(String[] args) {
        List ps = new ArrayList();
        Patient p2 = new Patient("Mike");
        ps.add(p2);
        int f = ps.indexOf(new Patient("Mike"));
        if(f >= 0){
            System.out.println("Mike Found");
        }else{
            System.out.println("Not Found");
        }
    }
}

在這裡插入圖片描述