Java
 Computer >> コンピューター >  >> プログラミング >> Java

ArrayListからArrayJavaへ

ArrayListをArrayJavaに変換する

ArrayListを使用しているときに、配列に変換したい、またはその逆の場合があります。たとえば、ポートフォリオ内の株式のリストを配列に格納していて、それをArrayListに変換したい場合があります。

Javaでは、toArray() メソッドは、ArrayListを配列に変換するために使用され、asList() メソッドは、リストをArrayListに変換するために使用されます。このチュートリアルでは、例を参照して、JavaでArrayListを配列に変換する方法とその逆の方法について説明します。

Java配列とArrayList

Javaでは、配列は0個以上の値のシーケンスを格納するために使用されます。たとえば、アレイには、菓子店で販売されているキャンディーのリストや、地元のカフェで行われた注文のリストが格納されている場合があります。配列には、float、booleans、stringsなどの任意のデータ型を格納できます。

Javaの配列の例を次に示します。

String[] names = new String[5];

この例では、namesという配列を初期化しました。 5つの文字列値を格納します。

Javaで配列を使用する前に、そのサイズを宣言する必要があります。さらに、配列のサイズを宣言すると、それを変更するのが難しい場合があります。

そこで、ArrayListクラスが登場します。ArrayListはJava Listインターフェースの実装であり、開発者がサイズ変更可能な配列を作成できるようにします。 ArrayListにオブジェクトを追加または削除すると、リストの容量は、リストに格納されている値の数を反映するように自動的に変更されます。このチュートリアルでは、単にArrayListクラスをリストと呼びます。

JavaでのArrayListの例を次に示します。

参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。

平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。

ArrayList<String> names = new ArrayList<>();

上記の例では、namesというArrayListを宣言しています。 任意の数の文字列値を格納します。

Java配列とArrayListsの基本がわかったので、これらのデータ型を使用してデータを変換する方法を探ることができます。

リストを配列に変換

Javaでは、list.toArray() メソッドは、リストを配列に変換するために使用されます。

ArrayListに格納されている退職ポートフォリオの株式のリストがあるとします。引退ポートフォリオに新しい株を追加するつもりはないので、これを配列に格納することにしました。

次のコードを使用して、株式のリストを含むリストをJava配列に変換できます。

import java.util.List;
import java.util.Arrays;
import java.util.ArrayList;

class Main {
	public static void main(String[] args) {
		List<String> portfolio = new ArrayList<String>();
		portfolio.add("BAM");
		portfolio.add("GOOGL");
		portfolio.add("SBUX");

		String[] newPortfolio = new String[portfolio.size()];
		portfolio.toArray(newPortfolio);

		System.out.println("Portfolio: " + Arrays.toString(newPortfolio));
	}
}

コードは次のようになります:

Portfolio: [BAM, GOOGL, SBUX]

コードを分解してみましょう。まず、List、Arrays、ArrayListの3つのライブラリをプログラムにインポートします。 Listライブラリを使用するとJavaListインターフェイスを操作でき、ArrayListライブラリを使用するとArrayListsを操作でき、Arraysを使用するとtoString()を使用できます。 配列をコンソールに出力するメソッド。

次に、文字列値を格納するポートフォリオと呼ばれるArrayListを宣言します。次に、add()を使用します BAM、GOOGL、SBUXの3つの値をポートフォリオに追加する方法。

コードの次の行に、newPortfolioという配列を作成します。 配列と配列のサイズを初期化します。 newPortfolioの容量を設定します 文字列配列(保持できる値の数)は、ポートフォリオ配列の長さに等しくなります。したがって、この場合、newPortfolio 配列は3つの値を保持できます。

次に、toArray()を使用します ポートフォリオArrayListを配列に変換し、newPortfolioを割り当てるメソッド 変数ポートフォリオ内に格納されている値を配列します。次に、Arrays.toString()を使用します newPortfolioを変換します 読み取り可能な値の文字列への変数。最後に、メッセージPortfolio:を印刷します。 、その後にArrays.toString()によって返される値が続きます 、コンソールに。

配列をリストに変換

asList() メソッドは、Javaで配列をArrayListに変換するために使用されます。

前のリタイアメントポートフォリオの例に戻りましょう。引退ポートフォリオに、ArrayListに変換したい株式の配列があるとします。このコードを使用してこれを行うことができます:

import java.util.Arrays;
import java.util.List;

class Main {
	public static void main(String[] args) {
		String[] portfolio = {"BAM", "GOOGL", "SBUX"};
		List<String> newPortfolio = Arrays.asList(portfolio);

		System.out.println("New portfolio: " + newPortfolio);
	}
}

コードは次のようになります:

New portfolio: [BAM, GOOGL, SBUX]

この例では、asList()を使用しました portfolioと呼ばれるリタイアメントポートフォリオ配列を変換します リストに。コードを分解してみましょう。

まず、配列とリストパッケージをインポートします。これらのパッケージには、配列をリストに変換するために必要なメソッドが含まれています。次に、退職ポートフォリオの株式の配列を含むポートフォリオと呼ばれる変数を宣言します。

次の行では、Arrays.asList()を使用します portfolioのコンテンツを変換するメソッド リストへの配列。次に、新しいリストを変数newPortfolioに割り当てます。 。最後に、メッセージNew portfolio:を印刷します。 、続いてnewPortfolioのコンテンツ 配列

結論

JavaのtoArray() メソッドはリストを配列に変換するために使用され、asList() メソッドは、配列をリストに変換するために使用されます。

このチュートリアルでは、例を参照して、JavaでArrayListを配列に変換する方法と配列をArrayListに変換する方法について説明しました。さらに、このチュートリアルでは、ArrayListクラスと配列データ型の主な違いについて説明しました。これで、プロのJavaコーダーのように、ArrayListsを配列に、またはその逆に変換する準備が整いました。


  1. Androidで配列をarraylistに変換する方法は?

    この例は、Androidで配列をarraylistに変換する方法を示しています。 ステップ1 − Android Studioで新しいプロジェクトを作成し、[ファイル]⇒[新しいプロジェクト]に移動して、新しいプロジェクトを作成するために必要なすべての詳細を入力します。 ステップ2 −次のコードをres / layout/activity_main.xmlに追加します。 <?xml version = "1.0" encoding = "utf-8"?> <LinearLayout xmlns:android = "htt

  2. JavaのArrayIndexOutOfBoundsExceptionとは何ですか?

    配列はデータ構造/コンテナ/オブジェクトです 同じタイプの要素の固定サイズの順次コレクションを格納します。配列のサイズ/長さは作成時に決定されます。 配列内の要素の位置は、インデックスまたは添え字と呼ばれます。配列の最初の要素はインデックス0に格納され、2番目の要素はインデックス1に格納されます。 配列内の各要素には、配列の名前とそれに続く角かっこで囲まれた必要な要素のインデックスを含む式を使用してアクセスします。 System.out.println(myArray[3]); //prints 1457 一般に、配列は固定サイズであり、各要素はインデックスを使用してアクセスされま