こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、10年目エンジニアです。
この記事では、 Javaで不変のListを作成できるList.ofメソッドについて
- List.ofメソッドとは
- List.ofメソッドを使うときの注意点
- List.ofメソッドを使ったサンプルプログラム
と、丁寧に解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows10 |
---|---|
IntelliJ IDEAのエディション | Community(無料版) |
IntelliJ IDEAのバージョン | 2021.3.2 |
プロジェクト | Javaプロジェクト |
SDK | Oracle OpenJDK version17.0.2 |
Javaを動かすためにIntelliJ IDEAを使っています。
IntelliJ IDEAのインストールは、下の記事をご参考ください。
List.ofメソッドとは
List.ofメソッドとは、引数に与えられた配列や要素の不変のListを返すメソッドです。
使い方サンプルは以下になります。
1 2 |
List<型> 変数名 = List.of(配列); List<型> 変数名 = List.of(要素1, 要素2, 要素3, …); |
List.ofメソッドを使うためには
1 |
import java.util.List; |
もインポートする必要があります。
List.ofメソッドを使うときの注意点
List.ofメソッドを使うときの注意点として
- nullの要素は許可されない
- 要素を追加、削除、置換ができない
の2点があります。
それぞれ解説します。
注意点その1:nullの要素は許可されない
注意点その1のnullの要素は許可されない、についてです。
List.ofメソッドでは、nullの要素を許可していません。
なのでたとえば
1 |
List<String> sample = List.of("サンプル", null); |
nullを含む配列をList.ofメソッドでListにしようとした場合、コンパイルは通るものの実行すると
1 |
Exception in thread "main" java.lang.NullPointerException |
という例外が発生します。
注意点その2:要素を追加、削除、置換ができない
注意点その2の要素を追加、削除、置換ができない、についてです。
List.ofメソッドで作成したListは不変です。
なので
- 追加
- 削除
- 置換
ができません。
たとえば
1 2 |
List<String> sample = List.of("サンプル"); sample.add("テスト"); |
要素を追加した場合、その1と同じくコンパイルは通るものの実行すると
1 |
Exception in thread "main" java.lang.UnsupportedOperationException |
List.ofメソッドを使うときは、ご注意ください。
では、次の章で実際に使ってみます。
List.ofメソッドを解説するプログラムの概要
List.ofメソッドを解説するプログラムでは引数に
- 要素を指定した場合
- 配列を指定した場合
の2パターンでListを作成し、中身を表示させ結果を確認します。
解説で使うJavaプログラムは、Sampleプロジェクトのsampleパッケージ内にある、とします。
Javaサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
package sample; import java.util.List; public class Sample { public static void main(String[] args){ List<String> fruitList = List.of("リンゴ", "みかん", "ブドウ"); System.out.println("■要素を指定した場合"); System.out.println(fruitList); String[] vegetables = {"キャベツ", "キュウリ", "トマト"}; List<String> vegetableList = List.of(vegetables); System.out.println("■配列を指定した場合"); System.out.println(vegetableList); } } |
実行結果
Javaプログラムを実行します。
実行のやり方は
- プログラムを右クリックして実行
- 実行タブから実行
- ガターから実行
の3種類あるので、いずれかで実行します。
詳しい解説は以下の記事をご参考ください。
1 2 3 4 |
■要素を指定した場合 [リンゴ, みかん, ブドウ] ■配列を指定した場合 [キャベツ, キュウリ, トマト] |
指定した要素のListが作成できていることが確認できました。
まとめ:List.ofメソッドを使ってみよう!
以上がJavaのList.ofメソッドについての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント