
public Integer[] relativeSortArray(Integer[] arr1, Integer[] arr2) {
Map<Integer, Integer> comparamap = new HashMap<>();
for (int i = 0; i < arr2.length; i++) {
comparamap.put(arr2[i], i);
}
Arrays.sort(arr1, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
if (comparamap.get(o1) == null){
return -1;
}
if (comparamap.get(o2) == null) {
return 1;
}
if ((comparamap.get(o1) - comparamap.get(o2)) < 0){
return 1;
}
return -1;
}
@Override
public boolean equals(Object obj) {
return false;
}
});
return arr1;
}
要使用包装类型,Arrays.sor()方法要求的是一个泛型,int作为基础类型不能作为泛型来使用