프로젝트/자바

두 List간 정렬

agaytr 2017. 11. 15. 01:27

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;

}

}