ProiorityBlockingQueue

优先级队列,线程安全队列。
java

@Test
    public void priority() {
        PriorityBlockingQueue<Data> testQueue = new PriorityBlockingQueue<>();
        testQueue.offer(new Data(121234411));
        testQueue.offer(new Data(12));
        testQueue.offer(new Data(13));
        testQueue.offer(new Data(14));
        testQueue.offer(new Data(12123));
        testQueue.offer(new Data(12234));


        while (testQueue.size() > 0) {
            System.out.println(testQueue.poll().getId());
        }

    }

    @Getter
    public static class Data implements Comparable<Data>{
        private final Integer id;

        public Data(Integer id) {
            this.id = id;
        }

        @Override
        public int compareTo(Data o) {
            return o.getId().compareTo(this.getId());
        }
    }
  • output
Connected to the target VM, address: '127.0.0.1:49644', transport: 'socket'
121234411
12234
12123
14
13
12
Disconnected from the target VM, address: '127.0.0.1:49644', transport: 'socket'

Process finished with exit code 0

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。