【问题标题】:How i can sort Customer in Queue Using ID?如何使用 ID 对队列中的客户进行排序?
【发布时间】:2017-05-27 17:52:36
【问题描述】:

我有类客户,这个类有属性名称:Customer_id 这个 Customer_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));
            }

【问题讨论】:

标签: java android arrays queue


【解决方案1】:

您可以使用将传递自定义比较器的优先级队列。因此,当您入队时,预期值将来自前面。

//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());
        }
    };

【讨论】:

    猜你喜欢
    • 2011-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多