Computer >> Máy Tính >  >> Lập trình >> Java

ArrayList to Array Java

Chuyển đổi ArrayList sang Array Java

Khi làm việc với ArrayList, bạn có thể gặp phải trường hợp muốn chuyển nó thành một mảng hoặc ngược lại. Ví dụ:bạn có thể có một danh sách cổ phiếu trong danh mục đầu tư của mình được lưu trữ trong một mảng và muốn chuyển nó thành ArrayList.

Trong Java, toArray() được sử dụng để chuyển đổi ArrayList thành một mảng và asList() được sử dụng để chuyển đổi một danh sách thành một ArrayList. Hướng dẫn này sẽ thảo luận, có tham chiếu đến các ví dụ, cách chuyển đổi ArrayList thành một mảng và ngược lại trong Java.

Java Array và ArrayList

Trong Java, mảng được sử dụng để lưu trữ một chuỗi không hoặc nhiều giá trị. Ví dụ:một mảng có thể lưu trữ danh sách các loại kẹo được bán tại một cửa hàng kẹo hoặc danh sách các đơn đặt hàng đã được đặt tại một quán cà phê địa phương. Mảng có thể lưu trữ bất kỳ kiểu dữ liệu nào như float, boolean và string.

Dưới đây là ví dụ về một mảng trong Java:

String[] names = new String[5];

Trong ví dụ này, chúng tôi đã khởi tạo một mảng có tên là names lưu trữ năm giá trị chuỗi.

Trước khi bạn có thể sử dụng một mảng trong Java, bạn cần phải khai báo kích thước của nó. Ngoài ra, khi bạn đã khai báo kích thước của một mảng, có thể khó thay đổi nó.

Đó là nơi xuất hiện của lớp ArrayList. ArrayList là một triển khai của giao diện Java List và cho phép các nhà phát triển tạo các mảng có thể thay đổi kích thước. Khi bạn thêm hoặc xóa một đối tượng khỏi ArrayList, dung lượng của danh sách sẽ tự động thay đổi để phản ánh số lượng giá trị được lưu trữ trong danh sách. Trong hướng dẫn này, chúng tôi sẽ chỉ đơn giản đề cập đến lớp ArrayList dưới dạng một danh sách.

Dưới đây là một ví dụ về ArrayList trong Java:

81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia một cuộc thi đào tạo. Kết hợp với bootcamp ngay hôm nay.

Sinh viên tốt nghiệp bootcamp trung bình dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.

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

Trong ví dụ trên, chúng ta đã khai báo một ArrayList được gọi là names lưu trữ bất kỳ số lượng giá trị chuỗi nào.

Bây giờ chúng ta đã biết những kiến ​​thức cơ bản về mảng Java và ArrayLists, chúng ta có thể khám phá cách chuyển đổi dữ liệu bằng các kiểu dữ liệu này.

Chuyển đổi danh sách thành mảng

Trong Java, list.toArray() được sử dụng để chuyển đổi một danh sách thành một mảng.

Giả sử chúng ta có một danh sách các cổ phiếu trong danh mục đầu tư hưu trí của mình được lưu trữ trong ArrayList. Chúng tôi đã quyết định rằng chúng tôi muốn dữ liệu này được lưu trữ trong một mảng vì chúng tôi không có ý định thêm cổ phiếu mới vào danh mục đầu tư hưu trí của mình.

Chúng tôi có thể chuyển đổi danh sách với danh sách cổ phiếu của chúng tôi sang một mảng Java bằng cách sử dụng mã này:

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));
	}
}

Mã của chúng tôi trả về:

Portfolio: [BAM, GOOGL, SBUX]

Hãy chia nhỏ mã của chúng ta. Đầu tiên, chúng tôi nhập ba thư viện vào chương trình của mình, đó là:Danh sách, Mảng và Danh sách Mảng. Thư viện List cho phép chúng ta làm việc với giao diện Java List, thư viện ArrayList cho phép chúng ta làm việc với ArrayLists và Arrays cho phép chúng ta sử dụng toString() để in mảng của chúng tôi ra bảng điều khiển.

Sau đó, chúng tôi khai báo một ArrayList được gọi là portfolio lưu trữ các giá trị chuỗi. Sau đó, chúng tôi sử dụng add() để thêm ba giá trị vào danh mục đầu tư của chúng tôi:BAM, GOOGL và SBUX.

Trên dòng tiếp theo của mã của chúng tôi, chúng tôi tạo một mảng có tên là newPortfolio và khởi tạo mảng và kích thước của mảng. Chúng tôi đặt dung lượng của newPortfolio mảng chuỗi - số giá trị mà nó có thể giữ - bằng độ dài của mảng danh mục đầu tư. Vì vậy, trong trường hợp này, newPortfolio mảng sẽ có khả năng chứa ba giá trị.

Tiếp theo, chúng tôi sử dụng toArray() để chuyển đổi danh mục ArrayList của chúng tôi thành một mảng và gán newPortfolio mảng các giá trị được lưu trữ trong danh mục đầu tư biến đổi. Sau đó, chúng tôi sử dụng Arrays.toString() để chuyển đổi newPortfolio biến thành một chuỗi giá trị có thể đọc được. Cuối cùng, chúng tôi in ra thông báo Portfolio: , theo sau là giá trị được trả về bởi Arrays.toString() , vào bảng điều khiển.

Chuyển đổi mảng thành danh sách

asList() được sử dụng để chuyển đổi một mảng thành ArrayList trong Java.

Hãy quay lại ví dụ về danh mục đầu tư hưu trí ở phần trước. Giả sử chúng ta có một loạt cổ phiếu trong danh mục đầu tư hưu trí mà chúng ta muốn chuyển đổi thành ArrayList. Chúng tôi có thể làm như vậy bằng cách sử dụng mã này:

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);
	}
}

Mã của chúng tôi trả về:

New portfolio: [BAM, GOOGL, SBUX]

Trong ví dụ này, chúng tôi đã sử dụng asList() để chuyển đổi mảng danh mục đầu tư hưu trí của chúng tôi được gọi là portfolio vào một danh sách. Hãy chia nhỏ mã của chúng ta.

Đầu tiên, chúng ta nhập các gói Mảng và Danh sách, các gói này chứa các phương thức chúng ta cần để chuyển mảng của mình thành một danh sách. Sau đó, chúng tôi khai báo một biến được gọi là danh mục đầu tư chứa một loạt các cổ phiếu trong danh mục đầu tư hưu trí của chúng tôi.

Trên dòng tiếp theo, chúng tôi sử dụng Arrays.asList() phương pháp chuyển đổi nội dung của portfolio mảng vào một danh sách. Sau đó, chúng tôi chỉ định danh sách mới cho biến newPortfolio . Cuối cùng, chúng tôi in ra thông báo New portfolio: , theo sau là nội dung của newPortfolio mảng

Kết luận

Java toArray() được sử dụng để chuyển đổi một danh sách thành một mảng và asList() được sử dụng để chuyển đổi một mảng thành một danh sách.

Hướng dẫn này đã thảo luận, có tham chiếu đến các ví dụ, cách chuyển đổi ArrayList thành mảng và một mảng thành ArrayList trong Java. Ngoài ra, hướng dẫn này đã thảo luận về sự khác biệt chính giữa lớp ArrayList và kiểu dữ liệu mảng. Bây giờ, bạn đã sẵn sàng để bắt đầu chuyển đổi ArrayLists thành mảng và ngược lại, giống như một lập trình viên Java chuyên nghiệp!