リスト(List)
020-001 - リスト(List)
Listは順序を持つコレクションで、重複を許し、インデックスでアクセスできます。ArrayListは配列ベースで高速なランダムアクセスが可能ですが、挿入・削除が遅いです。LinkedListはリンクベースで挿入・削除が高速ですが、ランダムアクセスが遅いです。Vectorは同期化されたArrayListで、マルチスレッド環境で安全です。用途に応じた実装クラスの選択が重要です。各実装の時間計算量を理解することで、最適な選択ができます。
Listの理解は、データ構造の基礎として不可欠です。データの特性と操作パターンに応じて最適な実装を選択することで、パフォーマンスが大きく変わります。実務では、データベース結果の格納、処理キューの実装、履歴データの管理などで頻繁に使用されます。たとえば、頻繁に要素を追加・削除する処理ではLinkedListを、ランダムアクセスが多い処理ではArrayListを選択します。
この項目を学ぶことで、Listの各実装の特性を理解し、適切なデータ構造を選択できるようになります。コレクションフレームワークの活用力が向上します。前提知識として、配列とリンク構造の基本概念を理解している必要があります。
問題 (10)
リスト管理:成績管理
# リスト管理:成績管理 **この問題では**: <a href="https://javadrill.tech/problems/020/001">ArrayList</a>に複数のテスト点数を格...
リスト管理:買い物リスト
# リスト管理:買い物リスト **この問題では**: `ArrayList`に商品名を順番に追加し、番号付きで一覧表示するとともに合計商品数を標準出力に表示するプログラムを作成します。 **学習目...
メソッド定義:数値加算メソッド
<p><strong>この問題では</strong>: 2つの整数を引数として受け取り、その和を返す <code>add</code> <a href="https://javadrill.tech/...
リストの基本:数値リスト
**この問題では**: <a href="https://javadrill.tech/problems/020/001">ArrayList</a>に複数の要素を追加し、インデックスで要素を取得・サ...
リスト(List):基本操作
# リスト(List):基本操作 **この問題では**: `ArrayList<String>`に3つの果物名を追加し、リストのサイズと2番目の要素を標準出力に表示するプログラムを作成します。 *...
コレクション:ArrayListの基本操作
**この問題では**: <a href="https://javadrill.tech/problems/020/001">ArrayList</a>に整数を追加し、サイズ確認・全要素表示・先頭要素の...
ArrayListの基本操作
# <a href="https://javadrill.tech/problems/020/001">ArrayList</a>の基本操作 **この問題では**: String型の<a href=...
ArrayListの検索と削除
# <a href="https://javadrill.tech/problems/020/001">ArrayList</a>の検索と削除 **この問題では**: String型の<a href...
ArrayListの基本操作
# <a href="https://javadrill.tech/problems/020/001">ArrayList</a>の基本操作 **この問題では**: `ArrayList<Strin...
ArrayListとIteratorによる条件付き要素削除
# <a href="https://javadrill.tech/problems/020/001">ArrayList</a>とIteratorによる条件付き要素削除 **この問題では**: `...
