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]
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM