如何根据卡类型重新排列数组列表中的对象



我有一个场景,我必须按特定顺序重新排列银行名称的元素。 此列表可以按任何顺序排列 [Wellsfargo、Bank of America、Chase、Citi、American Express],并且列表中可能没有一家或多家银行。 我试图想出逻辑来重新排列到这个顺序。 [大通、花旗、美国银行、富国银行、美国运通]

任何帮助都非常感谢

如注释中所述,您可以使用自定义Comparatorsort元素indexOf具有所需顺序的List

private static final List<String> ORDER_LIST = List.of("Chase", "Citi", "Bank Of America", "Wellsfargo", "American Express");
public static List<String> sort(String... names) {
return Stream.of(names)
.sorted(Comparator.comparingInt(ORDER_LIST::indexOf))
.collect(Collectors.toList());
}

然后你可以做:

List<String> names = sort("American Express", "Citi", "Chase");

System.out.println(names);

输出:

[Chase, Citi, American Express]

相关内容

  • 没有找到相关文章

最新更新