假设我有一个包含不同颜色气球的容器
oyt4ldly1#
只要让你的 * 颜色 * 一个enum。
import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Balloons { enum Colors {RED, BLUE, GREEN} public static void main(String[] args) { List<Colors> list = new ArrayList<>(); list.add(Colors.RED); list.add(Colors.BLUE); list.add(Colors.GREEN); list.add(Colors.RED); list.add(Colors.BLUE); list.add(Colors.RED); list.add(Colors.BLUE); list.add(Colors.GREEN); Collections.sort(list); System.out.println(list); } }
运行上面的代码将输出以下内容:
[RED, RED, RED, BLUE, BLUE, BLUE, GREEN, GREEN]
或者,如果您的 colors 是字符串,请定义一个适当的比较器。
import java.util.ArrayList; import java.util.Comparator; import java.util.List; public class Balloons { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("Red"); list.add("Blue"); list.add("Green"); list.add("Red"); list.add("Blue"); list.add("Red"); list.add("Blue"); list.add("Green"); Comparator<String> c = (s1, s2) -> { if ("Red".equals(s1)) { if ("Red".equals(s2)) { return 0; } return -1; } else if ("Blue".equals(s1)) { if ("Red".equals(s2)) { return 1; } else if ("Blue".equals(s2)) { return 0; } return -1; } else { if ("Green".equals(s2)) { return 0; } return 1; } }; list.sort(c); System.out.println(list); } }
1条答案
按热度按时间oyt4ldly1#
只要让你的 * 颜色 * 一个enum。
运行上面的代码将输出以下内容:
或者,如果您的 colors 是字符串,请定义一个适当的比较器。