Javaのコンパレータを介してPriorityQueueを実装する
Javaで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という名前のクラスには、main関数が含まれています。ここでは、新しいスキャナーオブジェクトと優先キューが定義されています。 Demoクラスの2つのインスタンスが作成され、要素が追加されます。
優先キューは空かどうかがチェックされ、空でない場合は、優先キューでポーリング関数が呼び出され、その名前が取得されます。これで、Comparatorは新しく作成されたクラスによって実装され、compare関数はDemoクラスの2つのインスタンスからの2つの値を比較します。デモクラスは名前と年齢を取り入れます。コンストラクターと、名前を返す「getName」という名前の関数を定義します。
-
編集可能なJLabelをJavaで実装するにはどうすればよいですか?
JLabel JLabel クラスはJComponentを拡張できます クラスとJLabelのオブジェクトは、 GUIに関するテキスト命令または情報を提供します 。 JLabel 1行の読み取り専用テキストを表示できます 、画像 または両方のテキスト および画像 。 JLabelの重要なメソッドは、 setText()、setIcon()、setBackground()、setOpaque()、setHorizontalAlignment()、setVerticalAlignment()です。 など JLabelは明示的にPropertyChangeListenerを生成
-
JavaでJToggleButtonを実装するにはどうすればよいですか?
JToggleButton JToggleButton AbstractButtonの拡張です また、オンに切り替えることができるボタンを表すために使用できます。 およびオフ 。 JToggleButtonの場合 を初めて押すと、押したままになり、2回押すと離すことができます。 JToggleButton ActionEventを生成します 押すたびに。 JToggleButton ItemEventを生成することもできます 、このイベントは、選択の概念をサポートするコンポーネントによって使用されます。 JToggleButtonの場合 を押すと選択されます。