gpt4 book ai didi

Java 排序映射或数组

转载 作者:行者123 更新时间:2023-11-30 04:35:10 27 4
gpt4 key购买 nike

我有代码:

    List<ModelMap> nameCustomer = new ArrayList<ModelMap>();

for (int i=1;i<150;i++) {
ModelMap map = new ModelMap();
map.put("name", "nazwa " + i);
map.put("surname", "nazwisko " + i);
map.put("number", "123 ");
nameCustomer.add(map);
}

ModelMap[] result = new ModelMap[nameCustomer.size()];
ModelMap[] rowsArray = nameCustomer.toArray(result);

如何按姓氏或数字对 nameCustomer(或 rowsArray)进行排序?

最佳答案

您可以使用Collections.sort(nameCustomer, comparator)方法对列表进行排序。为此,您必须为比较器编写代码。比较器的代码将是 -

public Comparator<ModelMap> getComparator(final String sortBy){
if ("surname".equals(sortBy)) {
return new Comparator<ModelMap>() {
@Override int compare(ModelMap m1, ModelMap m2)
return m1.getSurname().compareTo(m2.getSurname());
}};}
else if (condition) {// ... }
else {
throw new IllegalArgumentException("invalid sort field '" + sortBy + "'"); }
}

我假设您在 ModelMap 类中编写了一个 getSurname 方法来获取姓氏。如果没有,那么编写它以使上面的代码工作。

您可以访问here以获得进一步的帮助。干杯!!

关于Java 排序映射或数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13683851/

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