Java 如何使用ID对队列中的客户进行排序?

Java 如何使用ID对队列中的客户进行排序?,java,android,arrays,queue,Java,Android,Arrays,Queue,我有类Customers,这个类有属性名:Customer\u id 此客户id由以下代码随机生成: int USER_RANDOM_ID = rand.nextInt(2000) + 1; 注意:我将所有对象存储在ArrayList中,需要将所有对象推送到队列中 我的问题是如何对这样的对象进行排序: id最低的客户将首先得到服务 这是我将对象从列表发送到队列的代码。这里我想对依赖对象的id号进行排序 AmmanQueue = new QueueImplementation();

我有类Customers,这个类有属性名:Customer\u id 此客户id由以下代码随机生成:

  int USER_RANDOM_ID = rand.nextInt(2000) + 1;
注意:我将所有对象存储在ArrayList中,需要将所有对象推送到队列中

我的问题是如何对这样的对象进行排序: id最低的客户将首先得到服务

这是我将对象从列表发送到队列的代码。这里我想对依赖对象的id号进行排序

   AmmanQueue = new QueueImplementation();
            for(int i =0; i<MainActivity.Amman.getLength(); i++)
            {
                AmmanQueue.enqueue(MainActivity.Amman.getEntry(i));
            }
AmmanQueue=new QueueImplementation();

对于(int i=0;i您可以使用优先级队列,在这里您将通过自定义比较器。因此,当您将排队时,预期值将来自前面

//PriorityQueue example with Comparator
        Queue<Customer> customerPriorityQueue = new PriorityQueue<>(7, idComparator);


    //Comparator anonymous class implementation
    public static Comparator<Customer> idComparator = new Comparator<Customer>(){

        @Override
        public int compare(Customer c1, Customer c2) {
            return (int) (c1.getId() - c2.getId());
        }
    };
//带比较器的PriorityQueue示例
Queue customerPriorityQueue=new PriorityQueue(7,idComparator);
//比较器匿名类实现
公共静态比较器idComparator=新比较器(){
@凌驾
公共整数比较(客户c1、客户c2){
返回(int)(c1.getId()-c2.getId());
}
};

not duplicate的可能重复我的问题是如何将对象从数组移动到队列(排序)