Java对象的比较_集合框架中PriorityQueue的比较方式
发布日期:2021-05-14 16:39:05 浏览次数:18 分类:精选文章

本文共 3407 字,大约阅读时间需要 11 分钟。

Java���������������

PriorityQueue���������������

���Java���������������������PriorityQueue������������������������������������������������������������������������������������������������������������������������������������������������������������������PriorityQueue���offer���������������������������������������Integer������������������Comparable���������

������������������������������������

���������PriorityQueue������������������������������������������������������������

  • ������Comparable���������������compareTo������

    ������������������������������������������������Card������������Comparable���������������������������compareTo���������������������������Card������������������������������������������rank������������������������

    class Card implements Comparable
    { public int rank; public String suit; public Card(int rank, String suit) { this.rank = rank; this.suit = suit; } @Override public String toString() { return "Card{" + "rank=" + rank + ", suit='" + suit + '}'; } @Override public int compareTo(Card o) { return this.rank - o.rank; }}class TestDemo { public static void main(String[] args) { Card card1 = new Card(1, "���"); Card card2 = new Card(2, "���"); Card card3 = new Card(3, "���"); PriorityQueue
    qu = new PriorityQueue<>(); qu.offer(card2); qu.offer(card1); System.out.println(qu.poll()); // ���������Card{ rank=1, suit='���'} System.out.println(qu.poll()); // ���������Card{ rank=2, suit='���'} }}
  • ������Comparator���������������compare������

    ������������������������������Card���������Comparable���������������������Comparator���������Comparable���������������PriorityQueue���������������������������������������������������������������������������������������������������������

    class TestDemo {    public static void main(String[] args) {        Card2 card1 = new Card2(1, "���");        Card2 card2 = new Card2(2, "���");        Card2 card3 = new Card2(3, "���");        PriorityQueue
    qu2 = new PriorityQueue<>(new Comparator
    () { @Override public int compare(Card2 o1, Card2 o2) { return o1.rank - o2.rank; } }); qu2.offer(card2); qu2.offer(card1); qu2.offer(card3); System.out.println(qu2.toString()); // ���������[Card2{ rank=1, suit='���'}, Card2{ rank=2, suit='���'}, Card2{ rank=3, suit='���'}} }}
  • ���������������������������

    PriorityQueue���������������������������������������������������������������offer������������������������������������������������������������������������������������������������������PriorityQueue���������������������������������������������������������������������equals���hashCode���������������������������PriorityQueue������������������������������������������������������������

    ������������������������������

    • ���������������������������������������������Comparator���������������������������������������������������������������������������������������������������������������������������������������
    • ���������������������������������������Comparable���������������������������������������������������������Comparable���������������������������������

    ������������������������������������������������������������������������������������������������������������������������

    上一篇:排序——插入排序:直接插入排序、希尔排序
    下一篇:堆的应用_topK算法和堆排序

    发表评论

    最新留言

    哈哈,博客排版真的漂亮呢~
    [***.90.31.176]2025年04月12日 08时05分36秒

    关于作者

        喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
    -- 愿君每日到此一游!

    推荐文章