Java当中ArrayList的indexOf()方法总结,String类型和其它类型的不同

一 、语法:找到元素返回值是对应找到的元素的下标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");
        }
    }
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44757034/article/details/113415646