JavaでLinkedListの先頭と末尾に要素を追加する方法を解説
この記事では、JavaのLinkedList(リンクリスト)の先頭と末尾に要素を追加する方法について詳しく解説します。
java.util.LinkedListクラスは双方向リンクリスト(doubly-linked list)として動作し、一般的なリスト操作を実行できます。インデックスを指定した操作では、リストの先頭または末尾のうち、指定されたインデックスに近い方から走査が行われるため、効率的なアクセスが可能です。
処理の概要
以下に具体的な例を示します。
入力:
入力リスト: [Java, Scalaa, C++]
期待される出力:
要素追加後のリスト: [JVA, Java, Scalaa, C++, Spark]
アルゴリズム
ステップ1 - 処理を開始する ステップ2 - LinkedList型の変数 input_list を宣言する ステップ3 - 値を定義する ステップ4 - 組み込みメソッド addFirst() と addLast() を使用して、それぞれ先頭と末尾に要素を追加する ステップ5 - 結果を表示する ステップ6 - 処理を終了する
例1:mainメソッド内ですべての処理を記述する場合
この例では、すべての操作を「main」関数内にまとめて記述します。
import java.util.*;
public class Demo {
public static void main(String args[]){
LinkedList<String> input_list = new LinkedList<String>();
input_list.add("Java");
input_list.add("Scalaa");
input_list.add("C++");
System.out.println("定義されたリスト: " + input_list);
input_list.addFirst("JVA");
input_list.addLast("Spark");
System.out.println("要素追加後のリスト: " + input_list);
}
}出力結果
定義されたリスト: [Java, Scalaa, C++] 要素追加後のリスト: [JVA, Java, Scalaa, C++, Spark]
例2:オブジェクト指向プログラミングで関数化する場合
この例では、操作を独立した関数にカプセル化し、オブジェクト指向プログラミングのスタイルで実装します。
import java.util.*;
public class Demo {
static void add_elements(LinkedList<String> input_list){
input_list.addFirst("JVA");
input_list.addLast("Spark");
System.out.println("要素追加後のリスト: " + input_list);
}
public static void main(String args[]){
LinkedList<String> input_list = new LinkedList<String>();
input_list.add("Java");
input_list.add("Scalaa");
input_list.add("C++");
System.out.println("定義されたリスト: " + input_list);
add_elements(input_list);
}
}出力結果
定義されたリスト: [Java, Scalaa, C++] 要素追加後のリスト: [JVA, Java, Scalaa, C++, Spark]
まとめ
LinkedListクラスが提供するaddFirst()メソッドを使えばリストの先頭に、addLast()メソッドを使えば末尾に、それぞれ簡単に要素を追加できます。どちらのメソッドも計算量O(1)で動作するため、頻繁に先頭や末尾への挿入・削除を行う場面では、ArrayListよりもLinkedListの方が適しています。用途に応じて使い分けることで、より効率的なJavaプログラムを作成できるでしょう。
-
Pythonでリストの最初と最後の要素を交換する方法:4つのアプローチを徹底解説
はじめにこの記事では、リストの最初の要素と最後の要素を入れ替えるという問題に対する解決策を、4つの異なるアプローチで解説します。問題の定義与えられたリストに対して、最後の要素を最初の要素と入れ替える処理を実装します。例えば、[t, u, t, o, r, i, a, l] というリストが与えられた場合、実行後は [l, u, t, o, r, i, a, t] のように、先頭と末尾の要素が入れ替わります。それでは、以下の4つのアプローチを順番に見ていきましょう。アプローチ1:一時変数を使う基本的な方法最も基本的な方法です。リストの長さを取得し、一時変数(temp)を使って最初の要素と最後の要素
-
Pythonでリスト内の最大値・最小値の位置を見つける方法
Pythonでは、リスト内の最大値や最小値を求めるのが非常に簡単で、それらの位置(インデックス)も簡単に取得できます。Pythonには便利な組み込み関数が用意されており、min()はリスト内の最小値を求め、max()はリスト内の最大値を求めます。さらに、index()を使えば特定の要素のインデックス(位置)を調べることができます。 アルゴリズム maxminposition(A, n) /* Aはユーザーが入力したリスト、nはリストのサイズ */ ステップ1:組み込み関数を使って最小要素の位置を求める A.index(min(A)) ステップ2:組み込み関数を使って最