Javaで配列をリスト(ArrayList)に変換する方法
出典: Rrtutors 今日は、配列をリスト (ArrayList) に変換するさまざまな方法について学び、それぞれのコード例を見ていきます。 配列はシンプルで使いやすいですが、固定サイズなどの多くの制限があります。このため、先頭に新しい要素を追加したり、要素を並べ替えたりすることが困難になります。Collections Framework のおかげで、List、Set、Queue をさまざまな方法で実装できます。たとえば、汎用的で柔軟な配列リスト (ArrayList) を使用します。Java で配列を変換するときに使用できる方法は 3 つあります。これらの方法には次のものが含まれます。- ナイーブまたはブルートフォースメソッド。
- Arrays.asList()メソッド。
- Collections.addAll()メソッド。
単純な方法または強引な方法を使用する
このメソッドでは、空の配列からリストが作成され、配列の各要素が 1 つずつそれに追加されます。このメソッドは、次の操作を行った後に機能します。- 配列を取得します。
- 空のリストを作成します。
- 配列内の要素をループします。
- 次に、各要素を配列に追加します。
- 完全なリストを返します。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class NaivemethodExample {
public static <T> List<T> convertArrayToList(T array[])
{
List<T> list = new ArrayList<>();
for (T t : array) {
list.add(t);
}
return list;
}
public static void main(String args[])
{
String array[]
= { "Mangoes", "Oranges", "berries" };
System.out.println("Array: "
+ Arrays.toString(array));
List<String> list = convertArrayToList(array);
System.out.println("List: " + list);
}
}
Arrays.asList() メソッド
Arrays.asList()メソッドを使用すると、配列がコンストラクターへのパラメーターとして List コンストラクターに渡されます。ここで配列をリストに変換するには、次の手順に従う必要があります。- 配列を取得します。
- 配列をリスト コンストラクターのパラメーターとして渡して、リストを作成します。
- 完全なリストを返します。
package asList;
import java.util.Arrays;
import java.util.List;
public class asListExample {
public static <T> List<T> convertArrayToList(T array[])
{
List<T> list = Arrays.asList(array);
return list;
}
public static void main(String args[])
{
String array[]
= { "Mangoes", "Oranges", "berries" };
System.out.println("Array: "
+ Arrays.toString(array));
List<String> list = convertArrayToList(array);
System.out.println("List: " + list);
}
}
Collections.addAll() メソッド
リストは Java の Collection パッケージの一部であるため、 Collections.addAll()メソッドを使用して配列をリストに変換できます。このメソッドは、次の手順を使用して配列をリストに変換します。- 配列を取得します。
- 空のリストを作成します。
- collections.addAll()メソッドを使用して配列をリストに変換しましょう。
- リストを返します。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class collectionsall {
public static <T> List<T> convertArrayToList(T array[])
{
List<T> list = new ArrayList<>();
Collections.addAll(list, array);
return list;
}
public static void main(String args[])
{
String array[]
= { "peas", "tomatoes", "water melons" };
System.out.println("Array: "
+ Arrays.toString(array));
List<String> list = convertArrayToList(array);
System.out.println("List: " + list);
}
}
結論:
配列: [エンドウ豆、トマト、スイカ ] リスト: [エンドウ豆、トマト、スイカ ]
Java での依存関係の注入
出典: Medium この投稿では、Java における依存関係注入とは何か、それがどこで使用されるか、そしてそれが開発者にどのようなメリットをもたらすかを学びます。 依存関係の挿入 (DI) は、ソフトウェア コンポーネントに外部の依存関係を提供するプロセスです。依存関係の注入は、オブジェクトの作成の問題とその使用の問題を分離することを目的としています。埋め込み原則は、特定のサービスを使用するオブジェクトまたは関数がその作成方法を知る必要がないことを前提としています。代わりに、受信側の「クライアント」 (オブジェクトまたは関数) は、認識していない外部コード (「インジェクター」) から依存関係を受け取ります。ここに良い例があります。クラス X がクラス Y の一部の機能を使用するとき、クラス X はクラス Y に依存関係があると言います。依存関係の挿入により、クラスの外に依存オブジェクトを作成し、それらのオブジェクトをさまざまな方法でクラスに公開できます。この場合、依存オブジェクトの作成とバインドは、それらに依存するクラスの外に移動されます。依存関係注入パターンには、次の 3 種類のクラスが含まれます。- クライアント クラスにサービスを提供するサービス クラス。
- クライアント クラス - サービス クラスに依存するクラス。
- インジェクタークラスは、サービスクラスのオブジェクトをクライアントクラスに注入するクラスです。
依存関係の注入の種類
依存関係の注入には 3 つのタイプがあります。- コンストラクター インジェクション -コンストラクター インジェクションが発生すると、インジェクターはクライアント クラスのコンストラクターを通じてサービス (依存関係) を提供します。
- Setterインジェクション- このタイプのインジェクション (プロパティ インジェクションとも呼ばれる) では、インジェクターはクライアント クラスのパブリック プロパティを通じて依存関係を公開します。
- メソッドインジェクション- このタイプのインジェクションでは、クライアント クラスは、依存関係を提供するメソッドを宣言するインターフェイスを実装します。インジェクターはこのインターフェイスを使用して、クライアント クラスに依存関係を提供します。
依存関係の注入の利点
依存関係の注入を実装すると、次の利点が得られます。- コードの再利用。
- リファクタリングの容易さ。
- テストのしやすさ。
GO TO FULL VERSION