gpt4 book ai didi

java - 如何编写比较器以将列表的所有元素与输入进行比较并移动到顶部

转载 作者:行者123 更新时间:2023-11-29 06:50:41 26 4
gpt4 key购买 nike

我有一个列表

List<String> myList = Arrays.asList("1234", "1214", "1334");

我的输入是:

String mInput = "1214"

如何编写一个比较器,将myList的所有元素与mInput进行比较,如果相等,则将其移至列表顶部

最佳答案

您可以编写自己的比较器:

class BringToFrontComparator<T extends Comparable<T>> implements Comparator<T> {
T front;

public BringToFrontComparator(T front) {
this.front = front;
}

@Override
public int compare(T o1, T o2) {
return o1.equals(front) && !o2.equals(front)
// Front one is always less than anything other than itself.
? -1
// Normal comparison elsewhere.
: o1.compareTo(o2);
}
}

public void test(String[] args) throws Exception {
List<String> myList = Arrays.asList("1234", "1214", "1334");
String mInput = "1334";
Collections.sort(myList, new BringToFrontComparator<>(mInput));
System.out.println(myList);
}

打印

[1334, 1214, 1234]

关于java - 如何编写比较器以将列表的所有元素与输入进行比较并移动到顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49319193/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com