1. 程式人生 > >java實現二維陣列排序並定位座標(藉助list)

java實現二維陣列排序並定位座標(藉助list)

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Comparator;
public  class test {
static class  one{
private int x;
private int y;
private int count;
private int xxx;

public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public one(int x, int y, int count,int xxx) {
super();
this.x = x;
this.y = y;
this.count = count;
this.setXxx(xxx);}
public int getXxx() {
return xxx;
}
public void setXxx(int xxx) {
this.xxx = xxx;
}

}
public static void main(String[] args) {
int [][]a=
{
{1,3,2},
{5,5,5},
{4,7,8}
};
int [][]b={
{2,4,5},
{1,6,9},
{8,4,10}
};
List<one> list=new ArrayList<one>();
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
one o=new one(i,j,a[i][j],b[i][j]);
list.add(o);
}
}
Collections.sort(list, new Comparator<one>(){
public int compare(one o1, one o2) {
if(o1.getCount()< o2.getCount()){  
                   return 1;  
               } 
if(o1.getCount()== o2.getCount()){ 
if(o1.getXxx()<o2.getXxx())
                   return 1;  
if(o1.getXxx()==o2.getXxx())
return 0;  
return -1;  
              } 
return -1;
}

});
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i).getX()+"--"+list.get(i).getY());
System.out.println(list.get(i).getCount());
}
}
}