Java 如何使用ID对队列中的客户进行排序?
我有类Customers,这个类有属性名:Customer\u id 此客户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();
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的可能重复我的问题是如何将对象从数组移动到队列(排序)