W3School TIY Editor
W3School 在线教程
改变方向
暗黑模式
import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; // 定义偶数优先排序比较器 class SortEvenFirst implements Comparator { public int compare(Object obj1, Object obj2) { // 确保对象是整数类型 Integer a = (Integer)obj1; Integer b = (Integer)obj2; // 检查每个数字是否为偶数 // 当数字除以 2 余数为 0 时即为偶数 boolean aIsEven = (a % 2) == 0; boolean bIsEven = (b % 2) == 0; if (aIsEven == bIsEven) { // 如果两数同为偶数或同为奇数,则按正常排序规则处理 if (a < b) return -1; if (a > b) return 1; return 0; } else { // 如果 a 是偶数则排前面,否则 b排前面 if (aIsEven) { return -1; } else { return 1; } } } } public class Main { public static void main(String[] args) { ArrayList
myNumbers = new ArrayList
(); myNumbers.add(33); myNumbers.add(15); myNumbers.add(20); myNumbers.add(34); myNumbers.add(8); myNumbers.add(12); Comparator myComparator = new SortEvenFirst(); Collections.sort(myNumbers, myComparator); for (int i : myNumbers) { System.out.println(i); } } }