Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

जावा में Comparator के माध्यम से PriorityQueue कार्यान्वित करना

जावा में Comparator के माध्यम से PriorityQueue को कार्यान्वित करने के लिए कोड निम्नलिखित है:

उदाहरण

import java.util.*; 
public class Demo{ 
    public static void main(String[] args){ 
        Scanner my_scan = new Scanner(System.in); 
        PriorityQueue<Demo_class> my_pq = new PriorityQueue<Demo_class>(3, new demoComparator()); 
        Demo_class obj_1 = new Demo_class("Joe", 25); 
        my_pq.add(obj_1); 
        Demo_class obj_2 = new Demo_class("Goldberg", 27); 
        my_pq.add(obj_2); 
        while (!my_pq.isEmpty()){ 
            System.out.println(my_pq.poll().getName()); 
        } 
    } 
} 
class demoComparator implements Comparator<Demo_class>{ 
    public int compare(Demo_class s1, Demo_class s2){ 
        if (s1.age < s2.age) 
            return 1; 
        else if (s1.age > s2.age) 
            return -1; 
        return 0; 
    } 
} 
class Demo_class{ 
    public String name; 
    public int age; 
    public Demo_class(String name, int age){ 
        this.name = name; 
        this.age = age; 
    } 
    public String getName(){ 
        return name; 
    } 
}

आउटपुट

Goldberg 
Joe

Demo नामक एक क्लास में मुख्य फंक्शन होता है। यहां, एक नया स्कैनर ऑब्जेक्ट और एक प्रायोरिटी कतार परिभाषित की जाती है। Demo क्लास के दो इंस्टेंस बनाए जाते हैं और एलिमेंट्स इसमें जोड़े जाते हैं।

प्रायोरिटी कतार की जांच की जाती है कि क्या यह खाली है, और यदि नहीं, तो प्रायोरिटी कतार पर पोल फंक्शन को कॉल किया जाता है और इसका नाम प्राप्त किया जाता है। अब, Comparator को एक नई बनाई गई क्लास द्वारा लागू किया जाता है और तुलना फंक्शन Demo क्लास के दो इंस्टेंस से दो मानों की तुलना करता है। Demo क्लास नाम और उम्र लेती है। यह एक कंस्ट्रक्टर और getName नामक एक फंक्शन को परिभाषित करता है जो नाम वापस करता है।

  1. Java में गोलाकार JTextField कैसे इम्प्लीमेंट करें? Java में गोलाकार JTextField कैसे इम्प्लीमेंट करें?

    एक JTextField, JTextComponent क्लास का एक सबक्लास है और यह सबसे महत्वपूर्ण कंपोनेंट्स में से एक है जो यूजर को सिंगल-लाइन फॉर्मेट में इनपुट टेक्स्ट मान दर्ज करने की अनुमति देता है। जब हम इसके अंदर कुछ इनपुट दर्ज करने का प्रयास करते हैं तो JTextField क्लास ActionListener इंटरफेस उत्पन्न करेगी। JTextFi

  1. Java में संपादन योग्य JLabel कैसे लागू करें? Java में संपादन योग्य JLabel कैसे लागू करें?

    JLabel एक JLabel क्लास JComponent क्लास को विस्तारित कर सकती है और JLabel का एक ऑब्जेक्ट GUI पर टेक्स्ट निर्देश या जानकारी प्रदान करता है। एक JLabel केवल-पढ़ने योग्य टेक्स्ट की एकल लाइन, एक छवि या दोनों टेक्स्ट और छवि प्रदर्शित कर सकता है। JLabel के महत्वपूर्ण तरीके setText(), setIcon(), setBackgr

  1. Java में JToggleButton कैसे लागू करें Java में JToggleButton कैसे लागू करें

    JToggleButtonएक JToggleButton AbstractButton का एक्सटेंशन है और इसका उपयोग उन बटनों को दर्शाने के लिए किया जा सकता है जिन्हें ON और OFF किया जा सकता है।जब JToggleButton को पहली बार दबाया जाता है, तो यह दबा हुआ रहता है और इसे केवल दूसरी बार दबाने पर रिलीज़ किया जा सकता है।एक JToggleButton हर बार दबाए