这里直接上代码,目标是返回查找的结构体的下标,方法是重写euqals方法。如果找不到返回0。
import java.util.*;
public class Main {
public static void main(String[] args) {
ArrayList<P> p = new ArrayList<P>();
p.add(new P(2,1));
p.add(new P(1,3));
p.add(new P(2,3));
for (P x:p){
System.out.println(x.a+" "+x.b);
}
int xx = p.indexOf(new P(2,3));
System.out.println(xx);
}
}
class P{
int a;
int b;
P(int _a, int _b){
this.a = _a;
this.b = _b;
}
@Override
public boolean equals(Object o){
P o1 = (P) o;
if(o1.a == this.a && o1.b==this.b) return true;
else return false;
}
}
结果:
2 1
1 3
2 3
2