JavaでLinkedListから要素を削除する方法【サンプルコード付き】
この記事では、JavaのLinkedList(リンクリスト)から要素を削除する方法について詳しく解説します。
java.util.LinkedListクラスは、双方向リンクリスト(doubly-linked list)として期待される一連の操作を提供します。インデックスを指定した操作では、リストの先頭と末尾のうち、指定されたインデックスに近い方から要素をたどって処理が行われるという特徴があります。
以下に具体的な例を示します。
入力:
The list is defined as: [Java, Scala, Python, JavaScript, C++]
期待される出力:
The list after removing all the elements is: [Python, JavaScript, C++]
アルゴリズム
ステップ1 - 処理を開始する ステップ2 - 必要な変数を宣言する ステップ3 - 値を定義する ステップ4 - 結果を表示する ステップ5 - 処理を終了する
例1:mainメソッドにすべての処理を記述する場合
この例では、すべての操作を「main」メソッドの中にまとめて記述しています。
import java.util.LinkedList;
public class Demo {
public static void main(String args[]){
LinkedList<String> input_list = new LinkedList<String>();
input_list.add("Java");
input_list.add("Scala");
input_list.add("Python");
input_list.add("JavaScript");
input_list.add("C++");
System.out.println("The list is defined as: " + input_list);
input_list.remove();
input_list.remove();
System.out.println("The list after removing all the elements is: " + input_list);
}
}実行結果
The list is defined as: [Java, Scala, Python, JavaScript, C++] The list after removing all the elements is: [Python, JavaScript, C++]
例2:オブジェクト指向スタイルでメソッドに分離する場合
この例では、オブジェクト指向プログラミングの考え方に従い、削除処理を独立したメソッドとしてカプセル化しています。
import java.util.LinkedList;
public class Demo {
static void remove_element(LinkedList<String> input_list){
input_list.remove();
input_list.remove();
System.out.println("The list after removing all the elements is: " + input_list);
}
public static void main(String args[]){
LinkedList<String> input_list = new LinkedList<String>();
input_list.add("Java");
input_list.add("Scala");
input_list.add("Python");
input_list.add("JavaScript");
input_list.add("C++");
System.out.println("The list is defined as: " + input_list);
remove_element(input_list);
}
}実行結果
The list is defined as: [Java, Scala, Python, JavaScript, C++] The list after removing all the elements is: [Python, JavaScript, C++]
remove()メソッドの補足
LinkedListには、用途に応じて複数の削除用メソッドが用意されています。
- remove():引数なしで呼び出すと、リストの先頭要素を削除します(removeFirst()と同等の動作)。
- remove(int index):指定したインデックス位置にある要素を削除します。
- remove(Object o):指定したオブジェクトと等しい最初の要素を削除します。
- removeLast():リストの末尾にある要素を削除します。
なお、空のリストに対してremove()やremoveFirst()を呼び出すとNoSuchElementExceptionがスローされるため、事前にisEmpty()メソッドでリストが空かどうかを確認しておくと安全です。
-
Pythonでリストから重複要素を削除する方法を徹底解説
重複した要素を含むリストが与えられたとき、重複を取り除いた新しいリストを作成するのが本記事のテーマです。初心者の方にも理解しやすいよう、基本的なアルゴリズムの手順から実際のコードまで順を追って解説していきます。 実行例 入力::[2,3,4,3,4,6,78,90] 出力::[2,3,4,6,78,90] アルゴリズム 重複要素を削除するための基本的な手順は以下の通りです。 元となるリストを作成する。 空の新しいリストを用意する。 元のリストの各要素を先頭から順番に走査する。 その要素が新しいリストにまだ存在しないかどうかを判定する。 存在しない場合のみ、新しいリストへ要素を追加する。
-
JavaでArrayListから重複要素を削除する方法【SetとStream API】
この記事では、JavaのArrayListから重複する要素を削除する方法を、具体的なコード例とともにわかりやすく解説します。代表的な2つのアプローチを紹介するので、目的や使用しているJavaのバージョンに応じて使い分けてください。 ArrayListから重複する文字列を削除する Setインターフェースには「重複した要素を保持できない」という特性があります。この特性を利用して、重複を含むArrayListを引数としてSetオブジェクトを生成すれば、手軽に重複を除去できます。 ポイントはLinkedHashSetを使うことです。通常のHashSetではなくLinkedHashSetを採用することで