Java
 Computer >> コンピューター >  >> プログラミング >> Java

Java 9のJShellにSetインターフェースを実装するにはどうすればよいですか?


JShell は、式、クラス、インターフェイス、メソッドなどの単純なステートメントを実行するために使用されてきたJava9のコマンドラインツールです。

セット は、一意の要素を持つコレクションのコントラクトを指定するJavaのインターフェイスです。 。 object1.equals(object2)の場合 trueを返すと、object1とobject2のどちらか1つだけがSet実装に配置されます。

以下のコードスニペットでは、 Set.of()を使用する必要があります 方法。 Set.of()によって返されるコレクション メソッドは不変です 、したがって、 add()をサポートしていません 方法。要素を追加しようとすると、 UnsupportedOperationExceptionがスローされます 。 ハッシュセットを作成する場合 代わりに、 add()をサポートするコレクション セットの一意のプロパティをテストするメソッド。 falseを返し、重複する「Adithya」エントリの挿入が失敗したことを示します。

スニペット-1
jshell> Set<String> set = Set.of("Adithya", "Chaitanya", "Jai");
set ==> [Jai, Adithya, Chaitanya]

jshell> set.add("Adithya");
|   java.lang.UnsupportedOperationException thrown:

jshell> Set<String> hashSet = new HashSet<>(set);
hashSet ==> [Chaitanya, Jai, Adithya]

jshell> hashSet.add("Adithya");
$8 ==> false

jshell> hashSet
hashSet ==> [Chaitanya, Jai, Adithya]


以下のコードスニペットでは、 HashSetを実装する必要があります 要素は挿入順でもソート順でも保存されません。

スニペット-2
jshell> Set<Integer> numbers = new HashSet<>();
numbers ==> []

jshell> numbers.add(12345);
$11 ==> true

jshell> numbers.add(1234);
$12 ==> true

jshell> numbers.add(123);
$13 ==> true

jshell> numbers.add(12);
$14 ==> true

jshell> numbers
numbers ==> [1234, 12345, 123, 12]


以下のコードスニペットでは、 LinkedHashSetを実装する必要があります 要素は挿入の順序で保存されます 。

スニペット-3
jshell> Set<Integer> numbers1 = new LinkedHashSet<>();
numbers1 ==> []

jshell> numbers1.add(12345);
$17 ==> true

jshell> numbers1.add(1234);
$18 ==> true

jshell> numbers1.add(123);
$19 ==> true

jshell> numbers1.add(12);
$20 ==> true

jshell> numbers1
numbers1 ==> [12345, 1234, 123, 12]

jshell> numbers1.add(123456);
$22 ==> true

jshell> numbers1
numbers1 ==> [12345, 1234, 123, 12, 123456]


以下のコードスニペットでは、 TreeSetを実装する必要があります 要素は並べ替えられた順序で保存されます 。

スニペット-4
jshell> Set<Integer> numbers2 = new TreeSet<>();
numbers2 ==> []

jshell> numbers2.add(12345);
$25 ==> true

jshell> numbers2.add(1234);
$26 ==> true

jshell> numbers2.add(123);
$27 ==> true

jshell> numbers2.add(12);
$28 ==> true

jshell> numbers2
numbers2 ==> [12, 123, 1234, 12345]

jshell> numbers2.add(123456);
$30 ==> true

jshell> numbers2
numbers2 ==> [12, 123, 1234, 12345, 123456]

  1. Java 9でJavaFXを使用してJShellを実装するにはどうすればよいですか?

    JShell サンプル式を実装するために使用されるインタラクティブなツールです。 JavaFXを使用してプログラムでJShellを実装できます アプリケーションの場合、以下にリストされているJavaプログラムにいくつかのパッケージをインポートする必要があります import jdk.jshell.JShell; import jdk.jshell.SnippetEvent; import jdk.jshell.VarSnippet; 以下の例では、サンプルのJavaFXアプリケーションを実装しました。 テキストフィールドにさまざまな値を入力します 「評価」を押します 「」ボタン。対応する

  2. Javaで匿名内部クラスを使用してインターフェースを実装するにはどうすればよいですか?

    匿名の内部クラスは名前のないクラスです。インスタンス化ラインで直接定義します。 例 次のプログラムでは、Anonymous内部クラスを使用してTutorialsPointインターフェイスのtoString()メソッドを実装し、その戻り値を出力しています。 interface TutorialsPoint{    public String toString(); } public class Main implements TutorialsPoint {    public static void main(String[] args) { &nbs