Java 中將字串轉換為 ArrayList

Mohammad Irfan 2023年10月12日
  1. 使用 Java 中的 charAt()add() 方法將字串轉換為 ArrayList
  2. 使用 Java 中的 toCharArray() 方法將字串轉換為 ArrayList
  3. Java 中的 split() 方法
  4. 使用 Java 中的 split() 方法將字串轉換為 ArrayList
  5. 使用 Java 中的 split() 方法建立一個 ArrayList
  6. 在 Java 中將使用者字串轉換為 ArrayList
  7. 在 Java 中將字串陣列轉換為 ArrayList
  8. 在 Java 中將字串轉換為 ArrayList
Java 中將字串轉換為 ArrayList

本教程介紹了 Java 中 StringArrayList 的轉換,並列出了一些示例程式碼來理解該主題。

一個字串被定義為一個字元序列,一個 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() 方法將字串拆分為員工姓名陣列,然後我們可以簡單地將其轉換為 ArrayListsplit() 方法非常適合此任務,因為我們需要在建立 ArrayList 之前刪除逗號。

請參考下面的示例。

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 ArrayList

相關文章 - Java Array