zoukankan      html  css  js  c++  java
  • Hutool-使用BoundedPriorityQueue将数组排序

    <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.1.0</version>
        </dependency>

    代码示例:

    import cn.hutool.core.collection.BoundedPriorityQueue;
    import java.util.ArrayList;
    import java.util.Comparator;
    
    public class BoundedPriorityQueueDemo {
        public static void main(String[] args) {
            ////初始化队列,设置队列的容量为8(只能容纳8个元素),元素类型为integer使用默认比较器,在队列内部将按照从小到大排序
            BoundedPriorityQueue<Integer> queue = new BoundedPriorityQueue<>(8);
            //初始化队列,使用自定义的比较器
            queue = new BoundedPriorityQueue<>(8, new Comparator<Integer>() {
                @Override
                public int compare(Integer o1, Integer o2) {
                    return o1.compareTo(o2);
                }
            });
            //定义了8个元素,当元素加入到队列中,会按照从小到大排序,当加入第8个元素的时候,队列末尾(最大的元素)将会被抛弃
            int [] array = new int[]{5,6,7,3,2,4,22,14};
            for (int i : array) {
                //将数组的元素添加进去队列,使用add或queue
               // queue.offer(i);
                queue.add(i);
                
            }
            //队列可以转换为List
            ArrayList<Integer> list = queue.toList();
            System.out.println(list);   //[2, 3, 4, 5, 6, 7, 14, 22]
            System.out.println(queue);  //[2, 3, 4, 5, 6, 7, 14, 22]
        }
    }
  • 相关阅读:
    【类的继承与派生】学习笔记
    c++类的学习笔记
    c++链表
    实验六--类和对象
    mission3--dp
    POJ2718Smallest Difference(暴力全排列)
    我也不知道该起什么标题....
    noip2014题解
    Windows平台整合SpringBoot+KAFKA__第2部分_代码编写前传
    Windows平台整合SpringBoot+KAFKA_第1部分_环境配置部分
  • 原文地址:https://www.cnblogs.com/nastu/p/15243565.html
Copyright © 2011-2022 走看看