我正在用java编写一个mastermind游戏。我有一个名为“checked”的ArrayList,当我检查用户的猜测时,单词“black”,“white”和“blank”被添加到arrayList中。无论如何,我是否可以按重要性顺序对最后检查的数组进行排序,例如先是“黑”,然后是“白”,然后是“空白”?
您必须将用户猜测的“重要性顺序”存储在某处,以便您可以在排序中使用它
我建议创建一个
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);