Javaコラム Javaエンジニアのためのお役立ちコラム

[Java]subListの使い方とは?subListの基本的な使い方・deepコピーする方法・範囲削除・Index Out Of Bounds Exception

2021年08月20日
SE
JavaでのsubListはどのように使用するのでしょうか。
PM
基本的な使い方などを説明しますので、一緒に見ていきましょう。

[Java]subListの使い方とは?


今回は、JavaでのsubListの使い方について説明します。

Listに対して範囲指定でコピーする場合にsubListを使用します。subListでコピーするとシャローコピーになります。つまり、コピー元を変更すると、コピー先も変更されます。

ここでは、subListの基本的な使い方、deepコピーする方法、範囲削除、IndexOutOfBoundsExceptionについて紹介します。

JavaでのsubListの使い方に興味のある方はぜひご覧ください。

基本的な使い方

JavaにおけるsubListの基本的な使い方を紹介します。実際のソースコードを見てみましょう。

実行結果は以下のようになります。

JavaのsubListはシャローコピーなので、コピー先の要素を変更するとコピー元も変更されています。

最初から最後までコピーするには以下のように記述します。

このようにJavaでは、Listに対して範囲指定でコピーする場合にsubListを使用します。

deepコピー

Listに対して範囲指定でdeepコピーする方法を紹介します。実際のソースコードを見てみましょう。

実行結果は以下のようになります。「new ArrayList」で新しい配列を生成し、その引数に「list.subList」を指定することで、範囲指定でdeepコピーできます。deepコピーなので、コピー先の要素を変更してもコピー元は変更されません。

このようにJavaでは、Listに対して範囲指定でdeepコピーできます。

範囲削除

JavaのsubListを利用すれば、範囲指定でListの削除ができます。実際のソースコードを見てみましょう。

実行結果は以下のようになります。範囲指定でListの要素が削除されていることが分かります。

IndexOutOfBoundsException

JavaのsubListで発生する例外について紹介します。範囲指定を誤ると、IndexOutOfBoundsExceptionが発生します。実際のソースコードを見てみましょう。

実行結果は以下のようになります。Listの要素数は「5」ですが、subListの第2引数に「6」を指定しています。範囲を超えているのでIndexOutOfBoundsExceptionが発生します。

SE
subListの基本的な使い方や範囲削除などが理解できました。
PM
実際にご自身でsubListを使用する際の参考にしてみましょう。

まとめ

いかがでしたでしょうか。JavaでのsubListの使い方について説明しました。ここでは、subListの基本的な使い方、deepコピーする方法、範囲削除、IndexOutOfBoundsExceptionについて紹介しました。subListでコピーすると、シャローコピーになるので注意してください。

ぜひご自身でJavaのソースコードを書いて、理解を深めてください。


Javaでのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)

Search

Popular

recommended

Categories

Tags