Javaのリストの先頭に要素を追加します
この投稿では、Javaのリストの先頭にアイテムを追加する方法について説明します。
1.使用する List.add()
方法
リスト内の指定された位置に指定されたアイテムを挿入するための標準的な解決策は、 add(index, element)
のメソッド List
インターフェイス。挿入するインデックスと要素を取得します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import java.util.ArrayList; import java.util.Arrays; import java.util.List; class Main { public static void main(String[] args) { List<String> colors = new ArrayList<>(Arrays.asList("Red", "Blue", "Brown", "Purple")); String color = "Yellow"; colors.add(0, color); System.out.println(colors); } } |
出力:
[Yellow, Red, Blue, Brown, Purple]
2.使用する Deque.addFirst()
方法
The add()
メソッドがかかります O(n)
時間、それは新しい要素のための場所を作るためにすべての要素を右にシフトするので。最初にアイテムを挿入することはで行うことができます O(1)
あなたがたまたま使用した場合の時間 Deque
(ArrayDeque
, LinkedList
など)。それは提供します addFirst()
指定された要素を両端キューの前に挿入するメソッド。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
import java.util.ArrayDeque; import java.util.Arrays; import java.util.Deque; class Main { public static void main(String[] args) { Deque<String> colors = new ArrayDeque<>( Arrays.asList("Red", "Blue", "Brown", "Purple")); String color = "Yellow"; colors.addFirst(color); System.out.println(colors); } } |
出力:
[Yellow, Red, Blue, Brown, Purple]
に注意してください addFirst()
メソッドがスローします IllegalStateException
容量制限のために要素を挿入できない場合。容量が制限された両端キューを使用する場合は、 offerFirst()
一般的には方法が好ましい。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import java.util.Arrays; import java.util.Deque; import java.util.LinkedList; class Main { public static void main(String[] args) { Deque<String> colors = new LinkedList<>( Arrays.asList("Red", "Blue", "Brown", "Purple") ); String color = "Yellow"; colors.offerFirst(color); System.out.println(colors); } } |
出力:
[Yellow, Red, Blue, Brown, Purple]
3.使用する Collections.reverse()
方法
ここでの考え方は、リストを逆にして、指定された要素を最後に挿入し、リストをもう一度逆にして、目的の順序を取得することです。このソリューションは機能しますが、本番コードにはお勧めしません。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
import java.util.*; class Main { public static void main(String[] args) { List<String> colors = new ArrayList<>(Arrays.asList("Red", "Blue", "Brown", "Purple")); String color = "Yellow"; Collections.reverse(colors); colors.add(color); Collections.reverse(colors); System.out.println(colors); } } |
出力:
[Yellow, Red, Blue, Brown, Purple]
これで、Javaのリストの先頭にアイテムを追加できます。