Java で文字列を ArrayList に変換する
-
Java で
charAt()
およびadd()
メソッドを使用して、文字列をArrayList
に変換する -
Java で
toCharArray()
メソッドを使用して文字列をArrayList
に変換する -
Java の
split()
メソッド -
Java で
split()
メソッドを使用して文字列をArrayList
に変換する -
Java で
split()
メソッドを使用してArrayList
を作成する -
Java でユーザー文字列を
ArrayList
に変換する -
Java で文字列配列を
ArrayList
に変換する -
Java で文字列を
ArrayList
に変換する
このチュートリアルでは、Java での String
から ArrayList
への変換を紹介し、トピックを理解するためのサンプルコードをいくつかリストします。
文字列は文字のシーケンスとして定義され、ArrayList
は順序付けられたデータのシーケンスを格納するために使用されます。文字列を ArrayList
に変換するには、文字列から各文字を取得して ArrayList
に追加する必要があります。
この記事では、これを行うためのさまざまな方法について説明します。
Java で charAt()
および add()
メソッドを使用して、文字列を ArrayList
に変換する
簡単な解決策は、文字列の各文字を繰り返し処理し、その文字を ArrayList
に追加することです。charAt()
メソッドを使用して文字列の文字にアクセスし、add()
メソッドを使用してそれらを ArrayList
に追加できます。
このアプローチのコードを以下に示します。
import java.util.ArrayList;
public class SimpleTesting {
public static void main(String[] args) {
String s = "sample";
ArrayList<Character> list = new ArrayList<Character>();
for (int i = 0; i < s.length(); i++) {
char currentCharacter = s.charAt(i); // getting the character at current index
list.add(currentCharacter); // adding the character to the list
}
System.out.println("The String is: " + s);
System.out.print("The ArrayList is: " + list);
}
}
出力:
The String is: sample
The ArrayList is: [s, a, m, p, l, e]
より高度なことをしたい場合、このアプローチを使用することはできません。たとえば、文の単語だけを ArrayList
に追加し、句読点を無視する場合は、さらに処理が必要になります。
Java で toCharArray()
メソッドを使用して文字列を ArrayList
に変換する
toCharArray()
メソッドを文字列で使用して、文字列を文字配列に変換できます。次に、この文字配列を反復処理して、各文字を ArrayList
に追加できます。
以下の例を参照してください。
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
String s = "sample";
ArrayList<Character> list = new ArrayList<Character>();
char[] characterArray = s.toCharArray();
for (char c : characterArray) // iterating through the character array
list.add(c);
System.out.println("The String is: " + s);
System.out.print("The ArrayList is: " + list);
}
}
出力:
The String is: sample
The ArrayList is: [s, a, m, p, l, e]
これは、複雑なことをしたくない場合に使用できる簡単な方法です。ただし、前のセクションで説明したアプローチと同様に、文字列を ArrayList
に変換する前に文字列に対して何らかの処理(句読点の削除など)を行う場合は、これを使用できません。
Java の split()
メソッド
文字列 split()
メソッドは、正規表現またはパターンをパラメータとして受け取り、一致するパターンに応じて文字列を文字列の配列に分割します。このメソッドは文字列配列を返します。
たとえば、文字列 string of words
を split()
メソッドに渡し、パターンが単一の空白(//s+
で示される)の場合、配列 ["string", "of", "words"]
。
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
String s = "string of words";
String[] strArr = s.split("\\s+"); // Splitting using whitespace
System.out.println("The String is: " + s);
System.out.print("The String Array after splitting is: " + Arrays.toString(strArr));
}
}
出力:
The String is: string of words
The String Array after splitting is: [string, of, words]
Java で split()
メソッドを使用して文字列を ArrayList
に変換する
Arrays
クラスの asList()
メソッドを使用して、返された文字列の配列から ArrayList
を作成できます。次のコードはこれを示しています。
import java.util.ArrayList;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
String s = "string of words";
String[] strArr = s.split("\\s+"); // Splitting using whitespace
ArrayList<String> list = new ArrayList<String>(Arrays.asList(strArr));
System.out.println("The String is: " + s);
System.out.print("The ArrayList is: " + list);
}
}
出力:
The String is: string of words
The ArrayList is: [string, of, words]
Java で split()
メソッドを使用して ArrayList
を作成する
split()
メソッドは、必要に応じて変更する必要があります。たとえば、文字列 sample
の個々の文字の ArrayList
を作成する場合、split()
メソッドには別の正規表現が必要です。
import java.util.ArrayList;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
String s = "sample";
String[] strArr = s.split(""); // Splitting string into individual characters
ArrayList<String> list = new ArrayList<String>(Arrays.asList(strArr));
System.out.println("The String is: " + s);
System.out.print("The ArrayList is: " + list);
}
}
出力:
The String is: sample
The ArrayList is: [s, a, m, p, l, e]
Java でユーザー文字列を ArrayList
に変換する
カンマ区切りの従業員名を含む入力文字列をユーザーから取得し、各従業員の名前を含む ArrayList
を作成する必要があるとします。
split()
メソッドを使用して文字列を従業員名の配列に分割し、それを単に ArrayList
に変換できます。ArrayList
を作成する前にコンマを削除する必要があるため、split()
メソッドはこのタスクに最適です。
以下の例を参照してください。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
String employeeNames;
Scanner scanner = new Scanner(System.in);
System.out.println("Enter employee names separated by comma");
employeeNames = scanner.nextLine(); // taking user input
scanner.close();
String[] employeeNamesSplit = employeeNames.split(","); // Splitting names
ArrayList<String> list = new ArrayList<String>(Arrays.asList(employeeNamesSplit));
System.out.println("The String is: " + employeeNames);
System.out.print("The ArrayList is: " + list);
}
}
出力:
Enter employee names separated by comma
Justin, Jack, Jessica, Victor
The String is: Justin, Jack, Jessica, Victor
The ArrayList is: [Justin, Jack, Jessica, Victor]
Java で文字列配列を ArrayList
に変換する
配列はデータを順序付けて格納するのに最適ですが、サイズが限られているため、いくつかの重要な操作が制限される可能性があります。asList()
メソッドを使用すると、文字列配列を ArrayList
に簡単に変換できます。配列のすべての項目をリストにコピーするだけです。
次のコードはこれを示しています。
import java.util.ArrayList;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
String[] strArr = {"Hello", "Hola", "Ola"};
ArrayList<String> strList = new ArrayList<String>(Arrays.asList(strArr));
System.out.println("The String Array is: " + Arrays.toString(strArr));
System.out.println("The Array List is: " + strList);
}
}
出力:
The String Array is: [Hello, Hola, Ola]
The Array List is: [Hello, Hola, Ola]
Java で文字列を ArrayList
に変換する
文字列は一般的にさまざまな目的で使用されますが、不変であり、変更を適用することはできません。一方、ArrayList
はより多くの柔軟性を提供します。文字列の個々の文字から ArrayList
を作成できます。または、より複雑な処理(コンマ区切りの文字列から名前の ArrayList
を作成するなど)が必要な場合は、split()
メソッドを使用することができます。
全体として、split()
メソッドは、文字列を ArrayList
に変換する最も簡単で最も好ましい方法です。
関連記事 - Java String
- Java で 16 進文字列のバイト配列を変換する方法
- Java で文字列から部分文字列を削除する方法
- Java で文字列から文字列配列への変換を実行する方法
- Java 文字列をバイトに変換する方法
- Java でランダムな文字列を生成する
- Java のスワップメソッド
関連記事 - Java ArrayList
- Java で ArrayList のオブジェクトを日付でソートする方法
- Java ArrayList で一意の値を見つける
- Java の Vector と ArrayList
- Java のリストと Arraylist の違い
- Java で ArrayLists を比較する
- Java で ArrayList を int 型配列に変換する