すべて

020-001 - リスト(List)

Listは順序を持つコレクションで、重複を許し、インデックスでアクセスできます。ArrayListは配列ベースで高速なランダムアクセスが可能ですが、挿入・削除が遅いです。LinkedListはリンクベースで挿入・削除が高速ですが、ランダムアクセスが遅いです。Vectorは同期化されたArrayListで、マルチスレッド環境で安全です。用途に応じた実装クラスの選択が重要です。各実装の時間計算量を理解することで、最適な選択ができます。

Listの理解は、データ構造の基礎として不可欠です。データの特性と操作パターンに応じて最適な実装を選択することで、パフォーマンスが大きく変わります。実務では、データベース結果の格納、処理キューの実装、履歴データの管理などで頻繁に使用されます。たとえば、頻繁に要素を追加・削除する処理ではLinkedListを、ランダムアクセスが多い処理ではArrayListを選択します。

この項目を学ぶことで、Listの各実装の特性を理解し、適切なデータ構造を選択できるようになります。コレクションフレームワークの活用力が向上します。前提知識として、配列とリンク構造の基本概念を理解している必要があります。

問題 (14)

無料トライアル
020-001-001

リスト管理:成績管理

# リスト管理:成績管理 **この問題では**: <a href="https://javadrill.tech/problems/020/001">ArrayList</a>に複数のテスト点数を格...

無料トライアル
020-001-002

リスト管理:買い物リスト

# リスト管理:買い物リスト **この問題では**: `ArrayList`に商品名を順番に追加し、番号付きで一覧表示するとともに合計商品数を標準出力に表示するプログラムを作成します。 **学習目...

020-001-003

メソッド定義:数値加算メソッド

<p><strong>この問題では</strong>: 2つの整数を引数として受け取り、その和を返す <code>add</code> <a href="https://javadrill.tech/...

020-001-004

リストの基本:数値リスト

**この問題では**: <a href="https://javadrill.tech/problems/020/001">ArrayList</a>に複数の要素を追加し、インデックスで要素を取得・サ...

020-001-005

リスト(List):基本操作

# リスト(List):基本操作 **この問題では**: 3つの果物名を受け取り、<a href="https://javadrill.tech/problems/020/001">ArrayLis...

020-001-006

コレクション:ArrayListの基本操作

**この問題では**: <a href="https://javadrill.tech/problems/020/001">ArrayList</a>に整数を追加し、サイズ確認・全要素表示・先頭要素の...

020-001-007

ArrayListの基本操作

# <a href="https://javadrill.tech/problems/020/001">ArrayList</a>の基本操作 **この問題では**: 3つの文字列を引数として受け取り...

020-001-008

ArrayListの検索と削除

# <a href="https://javadrill.tech/problems/020/001">ArrayList</a>の検索と削除 **この問題では**: 複数の文字列と検索対象を引数と...

020-001-009

ArrayListの基本操作

# <a href="https://javadrill.tech/problems/020/001">ArrayList</a>の基本操作 **この問題では**: 3つの文字列を引数として受け取り...

020-001-010

ArrayListとIteratorによる条件付き要素削除

# <a href="https://javadrill.tech/problems/020/001">ArrayList</a>とIteratorによる条件付き要素削除 **この問題では**: 指...

020-001-011

成績リストの管理

# 成績リストの管理 **この問題では**: <a href="https://javadrill.tech/problems/020/001">ArrayList</a>`<Integer>` を...

020-001-012

ArrayListの基本操作

# ArrayListの基本操作 **この問題では**: <a href="https://javadrill.tech/problems/020/001">ArrayList</a> の基本操作(...

020-001-013

ListIteratorで双方向イテレーション

# ListIteratorで双方向イテレーション **この問題では**: `ListIterator` を使って<a href="https://javadrill.tech/problems/0...

020-001-014

Collections.sort()とComparator

# Collections.sort()とComparator **この問題では**: `Collections.sort()` に `Comparator` を指定して、<a href="http...