如何在java中不按字母顺序或数字顺序对ArrayList进行排序

问题描述 投票:0回答:1

我正在用java编写一个mastermind游戏。我有一个名为“checked”的ArrayList,当我检查用户的猜测时,单词“black”,“white”和“blank”被添加到arrayList中。无论如何,我是否可以按重要性顺序对最后检查的数组进行排序,例如先是“黑”,然后是“白”,然后是“空白”?

java arraylist
1个回答
0
投票

您必须将用户猜测的“重要性顺序”存储在某处,以便您可以在排序中使用它

我建议创建一个

record
来保存
key, value
元素(在您的情况下为
order_of_importance, color
),例如:

record Color(int orderOfImportance, String colorName) {
            @Override
            public String toString() {
                return String.valueOf(colorName);
            }
        }

        List<Color> checked = new ArrayList<>(List.of(new Color(3, "blank"), new Color(1, "black"), new Color(2, "white")));

        checked.sort(Comparator.comparing(Color::orderOfImportance));
        
        System.out.println(checked);
© www.soinside.com 2019 - 2024. All rights reserved.