小编bas*_*tar的帖子

如何使用Comparator接口

我是java的新手,我真的不知道如何使用比较器接口.我有一个ArrayListItem以S Inventory类和Item类.在Item我写的课上:

public class Item implements Comparator<Item> {
    //stuff
    ...
    @Override
    public int compare(Item a, Item b) {
        if (a.getID().compareToIgnoreCase(b.getID())>0)
            return 1;
        else if (a.getID().compareToIgnoreCase(b.getID())<0)
            return -1;
        else
            return 0;
    }
}
Run Code Online (Sandbox Code Playgroud)

getID()方法只提供id,我必须使用它来按字母顺序排列项目.我不确定这是不对的,它让我把@Override注释,我不知道为什么.我还写了一个界面,只是说:

 public interface Comparator<Item>
{
    int compare(Item a, Item b);
}
Run Code Online (Sandbox Code Playgroud)

我不确定那一点.另外,我如何实现此方法来对库存类中创建的arraylist进行排序?

谢谢,如果我的问题没有意义或需要澄清,请告诉我.

java sorting interface comparator

12
推荐指数
2
解决办法
5万
查看次数

使用 Collections.sort(arrayListName) 按 id 对充满对象的 ArrayList 进行排序

我有一个库存类,它创建一个充满对象 Item 的 ArrayList,它也是一个类。我知道我必须调用 Collections.sort(items);才能对 ArrayList 进行排序(顺便说一下,它称为项目)。作业说我必须在 Item 类上使用一个接口,我不知道是否要实现 Comparator 或 Comparable,然后为方法compareTo()compare()方法编写什么。另外,我Collections.sort(items)在声明 ArrayList 后立即接到电话,这样可以吗?

Comparable<Item>编辑:我的老师刚刚澄清说她希望我们在 Item 类上实现。

java sorting arraylist comparable comparator

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

comparator ×2

java ×2

sorting ×2

arraylist ×1

comparable ×1

interface ×1