Chuyển ArrayList sang String

Trang chủ Công nghệ thông tin Cách chuyển ArrayList thành mảng và ngược lại trong Java

Việc sử dụng các collection như ArrayList được xây dựng sẵn mang đến rất nhiều lợi ích với kích thước tự tăng giảm đi cùng rất nhiều method hỗ trợ sẵn như insert, delete, update, removeAll mà nếu sử dụng array thì chúng ta sẽ phải code rất nhiều. Thế nhưng đôi lúc chúng ta cần chuyển đổi qua lại giữa 2 kiểu dữ liệu này để phù hợp với các trường hợp cụ thể.

Ví dụ như bạn nhận vào một array mà phải xử lý rất nhiều trên tập dữ liệu của nó như vậy rất cần thiết chuyển Array sang ArrayList để thao tác sẽ dễ dàng hơn rất nhiều.

Convert array sang arraylist

Để convert một array sang arraylist chúng ta có một số cách như:

Arrays.asList[]

Chúng ta có thể sử dụng Arrays.asList[] với tham số là array để chuyển nó thành arraylist

import java.util.ArrayList; import java.util.Arrays; public class Main { public static void main[String[] args] { String[] strings = new String[] {"a", "b", "c", "d"}; ArrayList arrayList = new ArrayList[Arrays.asList[strings]]; System.out.println[arrayList]; } }

Output: [a, b, c, d]

Collections.addAll[]

import java.util.ArrayList; import java.util.Collections; public class Main { public static void main[String[] args] { Integer[] arr = {1, 2, 3, 4, 5, 6, 7}; ArrayList arrayList = new ArrayList[]; Collections.addAll[arrayList, arr]; System.out.println[arrayList]; } }

Output: [1, 2, 3, 4, 5, 6, 7]

Code chay

Chúng ta có thể loop qua array và lần lượt thêm các phần tử vào ArrayList. Cách này hơi chuối, vì thật ra các cách trên nó cũng làm vậy thôi, mình chỉ sử dụng lại thôi cho khoẻ =]

import java.util.ArrayList; public class Main { public static void main[String[] args] { Integer[] arr = {1, 2, 3, 4, 5, 6, 7}; ArrayList arrayList = new ArrayList[]; for[Integer i : arr] { arrayList.add[i]; } System.out.println[arrayList]; } }

Output: [1, 2, 3, 4, 5, 6, 7]

Convert từ ArrayList sang Array

Để chuyển ArrayList về Array chúng ta vẫn sẽ có nhiều cách khác nhau mà trong phần này mình sẽ liệt kê ra để các bạn có thể tham khảo và chọn phương pháp phù hợp cho mình.

Lambda Expression

Lambda expression được giới thiệu trong Java 8 và được sử dụng rộng rãi trong mã nguồn Java hiện tại. Trong phần này mình sẽ sử dụng Stream API kết hợp với lambda để chuyển đổi Arraylist sang Array. 

package com.company; import java.util.ArrayList; public class Main { public static void main[String[] args] { ArrayList arrayList = new ArrayList[]; arrayList.add[1]; arrayList.add[2]; arrayList.add[3]; Integer[] results = usingLambda[arrayList]; for [Integer i : results] { System.out.printf[i + " "]; } } public static Integer[] usingLambda[ArrayList strings] { return strings.stream[].toArray[size -> new Integer[size]]; } }

Output: 1 2 3

Method reference

Một cách khác để kết hợp với Stream API để sử dụng toArray[] method là sử dụng method reference giúp code trông ngắn gọn hơn

package com.company; import java.util.ArrayList; public class Main { public static void main[String[] args] { ArrayList arrayList = new ArrayList[]; arrayList.add[1]; arrayList.add[2]; arrayList.add[3]; Integer[] results = usingMethodReference[arrayList]; for [Integer i : results] { System.out.printf[i + " "]; } } public static Integer[] usingMethodReference[ArrayList strings] { return strings.stream[].toArray[Integer[]::new]; } }

Output: 1 2 3

Convert ArrayList sang Primitive Array

Nảy giờ nếu các bạn để ý thì mình chuyển ArrayList sang Array dưới dạng các kiểu dữ liệu wrapper như Interger, long v.v chứ chưa thao tác trên các kiểu dữ liệu nguyên thủy như int, long, double, v.v

Trong phần này mình sẽ sử dụng Strean#mapToInt để chuyển đổi ArrayList sang Array. Các bạn sẽ cần khi làm việc với các thư viện xây dựng sẵn của Java hay các bên thứ ba thì họ thường dùng Array cho các kiểu dữ liệu nguyên thủy.

package com.company; import java.util.ArrayList; public class Main { public static void main[String[] args] { ArrayList arrayList = new ArrayList[]; arrayList.add[1]; arrayList.add[2]; arrayList.add[3]; int[] results = intStreamToPrimitiveIntArray[arrayList]; for [Integer i : results] { System.out.printf[i + " "]; } } public static int[] intStreamToPrimitiveIntArray[ArrayList integers] { return integers.stream[].mapToInt[i -> i].toArray[]; } }

Would love your thoughts, please comment.x

Trong bài này tôi giới thiệu với các bạn phương pháp chuyển đổi ArrayList thành Array và Array thành ArrayList.

Chuyển đổi Array sang ArrayList sử dụng phương thức Arrays.asList[]

package com.gpcoder.collection.list.arraylist; import java.util.ArrayList; import java.util.Arrays; public class ArrayToArrayListExample1 { public static void main[String[] args] { // Array Declaration and initialization String[] arr = { "JAVA", "J2EE", "JSP", "SERVLETS" }; // Array to ArrayList conversion ArrayList list = new ArrayList[Arrays.asList[arr]]; // Adding new elements to the converted List list.add["C#"]; list.add["PHP"]; // Print list data System.out.println[list]; // [JAVA, J2EE, JSP, SERVLETS, C#, PHP] } }

Chuyển đổi Array sang ArrayList sử dụng phương thức Collections.addAll

package com.gpcoder.collection.list.arraylist; import java.util.ArrayList; import java.util.Collections; public class ArrayToArrayListExample2 { public static void main[String[] args] { // Array Declaration and initialization String[] arr = { "JAVA", "J2EE", "JSP", "SERVLETS" }; // ArrayList declaration ArrayList list = new ArrayList[]; // Array to ArrayList conversion Collections.addAll[list, arr]; // Adding new elements to the converted List list.add["C#"]; list.add["PHP"]; // Print list data System.out.println[list]; // [JAVA, J2EE, JSP, SERVLETS, C#, PHP] } }

Chuyển đổi Array sang ArrayList sử dụng vòng lặp

package com.gpcoder.collection.list.arraylist; import java.util.ArrayList; public class ArrayToArrayListExample3 { public static void main[String[] args] { // Array Declaration and initialization String[] arr = { "JAVA", "J2EE", "JSP", "SERVLETS" }; // ArrayList declaration ArrayList list = new ArrayList[]; // Array to ArrayList conversion for [String item : arr] { list.add[item]; } // Adding new elements to the converted List list.add["C#"]; list.add["PHP"]; // Print list data System.out.println[list]; // [JAVA, J2EE, JSP, SERVLETS, C#, PHP] } }

Chuyển đổi ArrayList sang Array sử dụng phương thức toArray[]

package com.gpcoder.collection.list.arraylist; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ArrayListToArray1 { public static void main[String[] args] { // Create list List list = new ArrayList[]; list.add[10]; list.add[20]; list.add[30]; list.add[40]; // Convert ArrayList to Array Integer[] arr = new Integer[list.size[]]; arr = list.toArray[arr]; // Print data System.out.println[Arrays.toString[arr]]; // [10, 20, 30, 40] } }

Chuyển đổi ArrayList sang Array sử dụng vòng lặp

package com.gpcoder.collection.list.arraylist; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ArrayListToArray2 { public static void main[String[] args] { // Create list List list = new ArrayList[]; list.add[10]; list.add[20]; list.add[30]; list.add[40]; // Convert ArrayList to Array Integer[] arr = new Integer[list.size[]]; for [int i = 0; i < list.size[]; i++] { arr[i] = list.get[i]; } // Print data System.out.println[Arrays.toString[arr]]; // [10, 20, 30, 40] } }

Bình luận

bình luận

Video liên quan

Chủ Đề