두 List간 정렬
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class arraylisttest {
public static void main(String[] args) {
ArrayList<Integer> arr = new ArrayList<Integer> ();
arr.add(5);
arr.add(2);
arr.add(3);
arr.add(1);
arr.add(4);
ArrayList<Data> arr2 = new ArrayList<Data> ();
arr2.add(new Data(1));
arr2.add(new Data(2));
arr2.add(new Data(3));
arr2.add(new Data(4));
arr2.add(new Data(5));
for(Data a : arr2) {
System.out.println(a.getNumber());
}
Comparator<Data> cpr = new Comparator<Data>() {
@Override
public int compare(Data o1, Data o2) {
System.out.println(o1 + " " + o2 + " " + Integer.compare(arr.indexOf(o1.getNumber()), arr.indexOf(o2.getNumber())));
return Integer.compare(arr.indexOf(o1.getNumber()), arr.indexOf(o2.getNumber()));
}
};
Collections.sort(arr2, cpr);
for(Data a : arr2) {
System.out.println(a.getNumber());
}
}
}
class Data {
int number = 0;
Data(int number) {
this.number = number;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
}