如何取出容器中取出特定条件的对象
public GeneralBean selectA(GeneralBean B1,ArrayList A){//B中武将选择打A中的哪个武将
GeneralBean result = null;
boolean flag = true;
if(B1.getM()==0){//B中武将的横坐标如果是0的情况
for(int i=0;i<3&&flag==true;i++){
for(int j=2;j>-1&&flag==true;j--){
for(Iterator iterator = A.iterator();iterator.hasNext();){
GeneralBean A1 = (GeneralBean)iterator.next();
if(A1.getM()==i&&A1.getN()==j){
System.out.println("B中武将的HP:"+B1.getHp());
flag = false;
result = A1;
break;
}
}
}
}
}else if(B1.getM()==1){//B中武将的横坐标如果是1的情况
for(int i=1;i<3&&flag==true;i++){
for(int j=2;j<-1&&flag==true;j--){
for(Iterator iterator = A.iterator();iterator.hasNext();){
GeneralBean A1 = (GeneralBean)iterator.next();
if(A1.getM()==i&&A1.getN()==j){
System.out.println("B中武将的HP:"+B1.getHp());
flag=false;
result = A1;
break;
}
}
}
}
for(int j=2;j>-1;j--){
for(Iterator iterator = A.iterator();iterator.hasNext();){
GeneralBean A1 = (GeneralBean)iterator.next();
if(A1.getM()==1&&A1.getN()==j){
System.out.println("B中武将的HP:"+B1.getHp());
result = A1;
break;
}
}
}
}else{//B中武将的横坐标如果是2的情况
for(int i=2;i>-1&&flag==true;i--){
for(int j=2;j>-1&&flag==true;j--){
for(Iterator iterator = A.iterator();iterator.hasNext();){
GeneralBean A1 = (GeneralBean)iterator.next();
if(A1.getM()==i&&A1.getN()==j){
System.out.println("B中武将的HP:"+B1.getHp());
flag = false;
result = A1;
break;
}
}
}
}
}
return result;
}