Java當中ArrayList的indexOf()方法總結,String型別和其它型別的不同
阿新 • • 發佈:2021-02-18
一 、語法:找到元素返回值是對應找到的元素的下標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");
}
}
}