简述调整数组顺序使奇数位于偶数前面Java ?
参考答案:
在Java中,你可以使用自定义的比较器(Comparator)来调整数组的顺序,使得奇数位于偶数前面。下面是一个简单的示例,展示了如何做到这一点:
import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
// 初始数组
int[] arr = {2, 4, 1, 6, 3, 8, 5, 7, 9, 0};
// 使用自定义比较器进行排序
Arrays.sort(arr, new Comparator<Integer>() {
@Override
public int compare(Integer a, Integer b) {
// 如果a和b都是奇数或都是偶数,保持原始顺序
if ((a % 2 == 0 && b % 2 == 0) || (a % 2 != 0 && b % 2 != 0)) {
return a - b;
}
// 如果a是奇数,b是偶数,a应该在b前面
if (a % 2 != 0 && b % 2 == 0) {
return -1;
}
// 如果a是偶数,b是奇数,b应该在a前面
if (a % 2 == 0 && b % 2 != 0) {
return 1;
}
// 这部分实际上不应该被执行,因为我们已经处理了所有情况
return 0;
}
});
// 输出排序后的数组
System.out.println(Arrays.toString(arr));
}
}
在这个示例中,我们首先定义了一个包含整数的数组。然后,我们使用Arrays.sort()
方法和一个自定义的比较器来排序数组。比较器检查每对元素,并根据它们是否是奇数或偶数来确定它们的顺序。如果两个元素都是奇数或都是偶数,则保持它们的原始顺序。如果一个是奇数,另一个是偶数,那么奇数应该在偶数前面。
最后,我们打印出排序后的数组,你可以看到奇数都位于偶数前面。