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

Java 9のJShellでMap(マップ)を実装する方法をわかりやすく解説

JShellとは?

JShellは、Java 9で新たに導入されたJavaシェルツールです。コマンドライン上で入力を読み取り、その場で実行し、結果を即座に出力できる対話型(REPL)ツールとして提供されています。

従来のJavaプログラムのようにmain()メソッドを持つクラスを作成してコンパイル・実行する必要がなく、コードを1行ずつ手軽に試せるのが大きな特徴です。学習やプロトタイピング、APIの動作確認などに非常に便利です。

JShellで利用できるコレクション

JShellでは、SetListMapなど、さまざまなコレクションを実装・操作できます。

中でも重要なのがMapインターフェースです。Mapは「キーと値(key-value)のペア」を管理するデータ構造で、以下のような特徴があります。

  • 重複したキーは保持できない
  • 各キーは最大1つの値に対応付けられる

空でないMapを実装する例

以下の例では、JShellを使って要素を持つMapを作成する手順を示します。HashMapを生成し、put()メソッドでキーと値のペアを追加していきます。

C:\Users\User>jshell
|  Welcome to JShell -- Version 9.0.4
|  For an introduction type: /help intro

jshell> Map<String, String> map = new HashMap<String, String>();
map ==> {}

jshell> map.put("raja", "ramesh");
$2 ==> null

jshell> map.put("adithya", "sai");
$3 ==> null

jshell> map.put("jai", "dev");
$4 ==> null

jshell> map.put("chaintaya", "krishna");
$5 ==> null

jshell> Map<String, String> immutableMap = Collections.unmodifiableMap(map);
immutableMap ==> {raja=ramesh, jai=dev, chaintaya=krishna, adithya=sai}

jshell>

実行結果のポイント

  • map.put()の戻り値がnullになっているのは、そのキーがまだ登録されていなかったためです。既存のキーに対してput()を実行すると、以前の値が戻り値として返されます。
  • Collections.unmodifiableMap(map)を使うことで、既存のMapから変更不可(イミュータブル)なMapを作成できます。これにより、誤って内容を書き換えてしまうことを防げます。
  • 出力例では{raja=ramesh, jai=dev, ...}のように、キー=値の形式でMapの中身が表示されています。

まとめ

JShellを活用すれば、main()メソッドやクラス定義なしに、Mapをはじめとする各種コレクションの動作を対話的に確認できます。JavaのコレクションAPIを学習する際や、短いコードを素早く検証したい場合に、ぜひ活用してみてください。

  1. Javaで編集可能なJComboBoxを実装する方法【setEditable(true)の使い方を解説】

    JComboBoxとは JComboBoxはSwingが提供するGUIコンポーネントの一つで、JComponentクラスを継承しています。テキストフィールドとドロップダウンリストを組み合わせた部品であり、ユーザーはリストから値を選択することができます。 コントロールのテキストフィールド部分が編集可能に設定されている場合、ユーザーはフィールドに直接値を入力したり、ドロップダウンリストから取得した値を編集したりできます。 デフォルトでは、JComboBoxのテキストフィールド部分のデータは編集できないようになっています。ユーザーに編集を許可したい場合は、setEditable(true)メソッ

  2. JavaのJToggleButton実装ガイド:ON/OFF切替ボタンの作り方を解説

    JToggleButtonとは JToggleButtonはAbstractButtonを拡張したクラスで、クリックするたびにONとOFFが切り替わるトグルボタンを実現するために使用されます。通常のボタンと異なり、押した状態を保持できるのが特徴です。 JToggleButtonの主な特徴 最初に押されたときは押し込まれた状態のままとなり、もう一度押してはじめて元の状態(押されていない状態)に戻ります。 ボタンが押されるたびにActionEventが発生します。 さらに、JToggleButtonはItemEventも発生させることができます。このイベントは、選択状態という概念を持つコンポー