gpt4 book ai didi

java - 使用比较器时遇到困难

转载 作者:行者123 更新时间:2023-12-01 23:05:32 27 4
gpt4 key购买 nike

案例:我有一个对象的 ArrayList,它具有以下打印方法:

public void printAllItems()
{
if(itemsList.isEmpty())
{
System.out.println("The list is empty");
}
else
{
System.out.println("Number of items: " + itemCount);
for(ShopItem shopItem : itemsList)
{
shopItem.printDetails();
System.out.println(); // empty line between posts
}
}
}

现在我想按这些对象的字段之一按字母顺序对它们进行排序(itemName 当然还有其合适的 getItemName() 方法)。我浏览了 Java 文档,发现我应该使用 Comparator。问题是我实际上并不理解如何将比较器代码实现到 for 循环中。有什么建议 ?

附注很抱歉,如果这个问题看起来非常简单,但我仍然是初学者,我很容易感到困惑:(

最佳答案

考虑到 getItemName() 返回一个字符串,请在循环之前添加以下内容:

Collections.sort(itemsList, new Comparator<ShopItem>(){
public int compare(ShopItem i1, ShopItem i2){
if(i1 == null || i2 == null)
return 0; //do properly nullable handling
return i1.getItemName().compareTo(i2.getItemName());
}
});

关于java - 使用比较器时遇到困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22838739/

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