List trong Java là gì? Tất tần tật kiến thức về List trong Java

List trong Java là gì?
List trong Java là một cấu trúc dữ liệu mạnh mẽ và phổ biến được sử dụng để lưu trữ và quản lý một tập hợp các phần tử. Nó cung cấp các phương thức để thêm, xóa, truy cập và thao tác các phần tử trong danh sách.
Trên thực tế, List là một giao diện trong Java Collections Framework, và nó có một số lớp cài đặt cụ thể như ArrayList, LinkedList và Vector. Mỗi lớp cài đặt có đặc điểm và ưu điểm riêng, tùy thuộc vào yêu cầu và kịch bản sử dụng.

List trong Java là gì?

List trong Java là gì?

Trong Java, List là một interface của gói java.util được sử dụng để lưu trữ và quản lý một tập hợp các phần tử theo thứ tự. List cho phép các phần tử có thể trùng lặp và cung cấp các phương thức để thêm, xóa, truy cập và sắp xếp các phần tử trong danh sách.
Một số implementation class phổ biến của List trong Java bao gồm:
  • ArrayList: Lưu trữ các phần tử trong một mảng có thể mở rộng.
  • LinkedList: Lưu trữ các phần tử dưới dạng danh sách liên kết.
  • Vector: Tương tự ArrayList, nhưng được đồng bộ hóa cho việc sử dụng đa luồng (multithreading).
Các phương thức chính của List bao gồm:
  • add(element): Thêm một phần tử vào cuối danh sách.
  • remove(index): Xóa phần tử tại vị trí chỉ định trong danh sách.
  • get(index): Lấy phần tử tại vị trí chỉ định trong danh sách.
  • size(): Trả về số lượng phần tử trong danh sách.
  • contains(element): Kiểm tra xem phần tử có tồn tại trong danh sách hay không.
List là một cấu trúc dữ liệu quan trọng và linh hoạt trong Java, thường được sử dụng để lưu trữ và quản lý dữ liệu khi số lượng phần tử có thể thay đổi.

Các hàm của list

Interface List trong Java cung cấp một loạt các phương thức để làm việc với danh sách. Dưới đây là một số phương thức quan trọng của List:
  1. add(element): Thêm một phần tử vào cuối danh sách.
  2. add(index, element): Thêm một phần tử vào vị trí chỉ định trong danh sách.
  3. remove(index): Xóa phần tử tại vị trí chỉ định trong danh sách.
  4. get(index): Lấy phần tử tại vị trí chỉ định trong danh sách.
  5. set(index, element): Gán một phần tử mới cho vị trí chỉ định trong danh sách.
  6. size(): Trả về số lượng phần tử trong danh sách.
  7. isEmpty(): Kiểm tra xem danh sách có rỗng hay không.
  8. contains(element): Kiểm tra xem phần tử có tồn tại trong danh sách hay không.
  9. indexOf(element): Trả về vị trí đầu tiên của phần tử trong danh sách, hoặc -1 nếu không tìm thấy.
  10. lastIndexOf(element): Trả về vị trí cuối cùng của phần tử trong danh sách, hoặc -1 nếu không tìm thấy.
  11. subList(fromIndex, toIndex): Trích xuất một danh sách con từ danh sách gốc, từ vị trí fromIndex (bao gồm) đến vị trí toIndex (không bao gồm).
  12. clear(): Xóa tất cả các phần tử trong danh sách.
Đây chỉ là một số phương thức quan trọng của List. Các implementation class như ArrayList và LinkedList cung cấp các phương thức này để thực hiện các thao tác cơ bản trên danh sách. Bạn có thể tìm hiểu thêm trong tài liệu chính thức của Java để khám phá các phương thức khác và tính năng nâng cao của List.

Khai báo List trong Java

Trong Java, để khai báo một biến List, bạn cần chỉ định kiểu dữ liệu của phần tử trong List và sử dụng một implementation class cụ thể để tạo đối tượng List. Dưới đây là cách khai báo một biến List:
  1. import java.util.List;
  2. import java.util.ArrayList;
  3. public class ListExample {
  4.       public static void main(String[] args) {
  5.             // Khai báo một biến List kiểu Integer sử dụng ArrayList làm implementation class
  6.             List<Integer> numbers = new ArrayList<>();
  7.             // Thêm phần tử vào List
  8.             numbers.add(1);
  9.             numbers.add(2);
  10.             numbers.add(3);
  11.             // In danh sách phần tử
  12.             System.out.println(numbers); // Output: [1, 2, 3]
  13.      }
  14. }
Trong ví dụ trên, chúng ta đã khai báo một biến List kiểu Integer có tên numbers. Chúng ta sử dụng implementation class ArrayList bằng cách gọi new ArrayList<>(). Điều này tạo ra một đối tượng ArrayList mà chúng ta có thể sử dụng để lưu trữ và quản lý danh sách các số nguyên.
Sau đó, chúng ta có thể sử dụng các phương thức của List và ArrayList như add(), get(), remove(),… để thao tác với danh sách.
Lưu ý rằng trong khai báo biến List, bạn có thể thay thế ArrayList bằng các implementation class khác như LinkedList, Vector tùy thuộc vào yêu cầu của bạn.

Thao tác với List trong Java

Thêm phần tử vào List trong Java

Để thêm một phần tử vào List trong Java, bạn có thể sử dụng phương thức add() của List. Dưới đây là cách thêm phần tử vào List:
  1. import java.util.List;
  2. import java.util.ArrayList;
  3. public class ListExample {
  4.       public static void main(String[] args) {
  5.             // Khai báo một biến List kiểu String
  6.             List<String> fruits = new ArrayList<>();
  7.             // Thêm phần tử vào List
  8.             fruits.add("Apple");
  9.             fruits.add("Banana");
  10.             fruits.add("Orange");
  11.             System.out.println(fruits);// Output: [Apple, Banana, Orange]
  12.       }
  13. }
Trong ví dụ trên, chúng ta đã khai báo một biến List kiểu String là fruits và sử dụng implementation class ArrayList. Sau đó, chúng ta sử dụng phương thức add() để thêm các phần tử vào danh sách. Mỗi lần gọi phương thức add(), phần tử được thêm vào cuối danh sách.
Sau khi thêm các phần tử, chúng ta có thể in ra danh sách bằng cách sử dụng System.out.println(fruits), và kết quả sẽ là [Apple, Banana, Orange].
Bạn có thể thay đổi kiểu dữ liệu của List và sử dụng các implementation class khác như LinkedList, Vector tùy thuộc vào nhu cầu của bạn.

Get và set phần tử trong List trong Java

Để lấy và gán giá trị cho phần tử trong List trong Java, bạn có thể sử dụng các phương thức get()set() của List. Dưới đây là cách sử dụng các phương thức này:
  1. import java.util.List;
  2. import java.util.ArrayList;
  3. public class ListExample {
  4.        public static void main(String[] args) {
  5.              // Khai báo một biến List kiểu Integer
  6.              List<Integer> numbers = new ArrayList<>();
  7.              // Thêm phần tử vào List
  8.              numbers.add(10);
  9.              numbers.add(20);
  10.              numbers.add(30);
  11.              // Lấy phần tử từ Listint firstElement = numbers.get(0);
  12.              System.out.println("First element: " + firstElement); // Output: First element: 10// Gán giá trị mới cho phần tử trong List
  13.              numbers.set(1, 25);
  14.              System.out.println(numbers); // Output: [10, 25, 30]
  15.      }
  16. }
Trong ví dụ trên, chúng ta đã khai báo một biến List kiểu Integer là numbers và sử dụng implementation class ArrayList. Sau đó, chúng ta đã thêm các phần tử vào List bằng cách sử dụng phương thức add().
Để lấy giá trị của phần tử từ List, chúng ta sử dụng phương thức get(index), với index là vị trí của phần tử trong List. Ví dụ: int firstElement = numbers.get(0) lấy giá trị của phần tử đầu tiên và gán cho biến firstElement.
Để gán giá trị mới cho phần tử trong List, chúng ta sử dụng phương thức set(index, element), với index là vị trí của phần tử cần gán giá trị mới, và element là giá trị mới cần gán. Ví dụ: numbers.set(1, 25) gán giá trị 25 cho phần tử ở vị trí thứ 1 trong List.
Sau đó, chúng ta có thể in ra List để kiểm tra xem giá trị đã được cập nhật hay chưa.
Lưu ý rằng vị trí (index) trong List bắt đầu từ 0, tức là phần tử đầu tiên có vị trí là 0, phần tử thứ hai có vị trí là 1, và cứ tiếp tục như vậy.

Chuyển mảng thành List trong Java

Để chuyển một mảng thành một đối tượng List trong Java, bạn có thể sử dụng phương thức Arrays.asList(). Dưới đây là cách chuyển đổi một mảng thành một List:
  1. import java.util.Arrays;
  2. import java.util.List;
  3. public class ArrayToListExample {
  4.        public static void main(String[] args) {
  5.              // Khai báo một mảng
  6.              String[] fruitsArray = {"Apple", "Banana", "Orange"};
  7.              // Chuyển đổi mảng thành List
  8.              List<String> fruitsList = Arrays.asList(fruitsArray);
  9.              System.out.println(fruitsList); // Output: [Apple, Banana, Orange]
  10.       }
  11. }
Trong ví dụ trên, chúng ta đã khai báo một mảng fruitsArray chứa các phần tử là các chuỗi “Apple”, “Banana”, “Orange”.
Sau đó, chúng ta sử dụng phương thức Arrays.asList() để chuyển đổi mảng fruitsArray thành một List fruitsList. Phương thức này trả về một đối tượng List bao gồm các phần tử trong mảng.
Sau khi chuyển đổi, chúng ta có thể in ra List fruitsList để kiểm tra kết quả.
Lưu ý rằng phương thức Arrays.asList() trả về một List không thể thay đổi kích thước (fixed-size List), nghĩa là bạn không thể thêm hoặc xóa phần tử từ List. Nếu bạn cần một List có thể thay đổi kích thước, bạn có thể tạo một ArrayList mới và thêm các phần tử từ mảng vào ArrayList bằng cách sử dụng vòng lặp.

Sắp xếp List trong Java

Để sắp xếp một List trong Java, bạn có thể sử dụng phương thức sort() của lớp Collections. Phương thức này sẽ sắp xếp các phần tử trong List theo thứ tự tăng dần (hoặc theo thứ tự được xác định bởi Comparator).
Dưới đây là một ví dụ về cách sắp xếp một List của các số nguyên theo thứ tự tăng dần:
  1. import java.util.List;
  2. import java.util.ArrayList;
  3. import java.util.Collections;
  4. public class ListSortExample {
  5.        public static void main(String[] args) {
  6.              // Khai báo một biến List kiểu Integer
  7.              List<Integer> numbers = new ArrayList<>();
  8.              // Thêm các phần tử vào List
  9.              numbers.add(5);
  10.              numbers.add(2);
  11.              numbers.add(8);
  12.              numbers.add(1);
  13.              // Sắp xếp List theo thứ tự tăng dần
  14.              Collections.sort(numbers);
  15.              System.out.println(numbers); // Output: [1, 2, 5, 8]
  16.       }
  17. }
Trong ví dụ trên, chúng ta đã khai báo một biến List kiểu Integer là numbers và sử dụng implementation class ArrayList. Sau đó, chúng ta đã thêm các phần tử vào List bằng cách sử dụng phương thức add().
Để sắp xếp List numbers, chúng ta sử dụng phương thức Collections.sort() và truyền List đó vào. Phương thức này sẽ sắp xếp các phần tử trong List theo thứ tự tăng dần.
Cuối cùng, chúng ta in ra List đã được sắp xếp để kiểm tra kết quả.
Lưu ý rằng việc sắp xếp sẽ ảnh hưởng trực tiếp lên List gốc, không tạo ra một List mới.

Duyệt các phần tử List trong Java

Để duyệt qua các phần tử trong một List trong Java, có một số cách thức phổ biến như sử dụng vòng lặp for, vòng lặp for-each hoặc sử dụng Iterator. Dưới đây là ví dụ về các phương pháp này:
  1. Sử dụng vòng lặp for:
  1. import java.util.List;
  2. import java.util.ArrayList;
  3. public class ListIterationExample {
  4.       public static void main(String[] args) {
  5.             // Khai báo một biến List kiểu String
  6.             List<String> fruits = new ArrayList<>();
  7.             // Thêm các phần tử vào List
  8.             fruits.add("Apple");
  9.             fruits.add("Banana");
  10.             fruits.add("Orange");
  11.            // Duyệt qua các phần tử trong List bằng vòng lặp forfor (int i = 0; i < fruits.size(); i++) {
  12.            String fruit = fruits.get(i);
  13.            System.out.println(fruit);
  14.            }
  15.      }
  16. }
  1. Sử dụng vòng lặp for-each:
  1. import java.util.List;
  2. import java.util.ArrayList;
  3. public class ListIterationExample {
  4.        public static void main(String[] args) {
  5.              // Khai báo một biến List kiểu String
  6.              List<String> fruits = new ArrayList<>();
  7.              // Thêm các phần tử vào List
  8.              fruits.add("Apple");
  9.              fruits.add("Banana");
  10.              fruits.add("Orange");
  11.             // Duyệt qua các phần tử trong List bằng vòng lặp for-eachfor (String fruit : fruits) {
  12.             System.out.println(fruit);
  13.             }
  14.      }
  15. }
  1. Sử dụng Iterator:
  1. import java.util.List;
  2. import java.util.ArrayList;
  3. import java.util.Iterator;
  4. public class ListIterationExample {
  5.       public static void main(String[] args) {
  6.             // Khai báo một biến List kiểu String
  7.             List<String> fruits = new ArrayList<>();
  8.             // Thêm các phần tử vào List
  9.             fruits.add("Apple");
  10.             fruits.add("Banana");
  11.             fruits.add("Orange");
  12.             // Duyệt qua các phần tử trong List bằng Iterator
  13.             Iterator<String> iterator = fruits.iterator();
  14.             while (iterator.hasNext()) {
  15.             String fruit = iterator.next();
  16.             System.out.println(fruit);
  17.             }
  18.       }
  19. }
Trong ví dụ trên, chúng ta đã khai báo một biến List kiểu String là fruits và thêm các phần tử vào List. Sau đó, chúng ta đã sử dụng các phương thức get() hoặc iterator() để lấy phần tử từ List và duyệt qua từng phần tử trong List bằng vòng lặp for, for-each hoặc Iterator.
Khi duyệt qua các phần tử trong List, chúng ta có thể thực hiện các thao tác khác trên phần tử, như in ra giá trị, thay đổi giá trị, hoặc thực hiện các thao tác phù hợp khác.

Chuyển List thành mảng trong Java

Để chuyển đổi một đối tượng List thành một mảng trong Java, bạn có thể sử dụng phương thức toArray() của lớp List. Dưới đây là cách chuyển đổi List thành mảng:
  1. import java.util.List;
  2. import java.util.ArrayList;
  3. public class ListToArrayExample {
  4.       public static void main(String[] args) {
  5.             // Khai báo một biến List kiểu Integer
  6.             List<Integer> numbers = new ArrayList<>();
  7.             // Thêm các phần tử vào List
  8.             numbers.add(1);
  9.             numbers.add(2);
  10.             numbers.add(3);
  11.             // Chuyển List thành mảng
  12.             Integer[] array = numbers.toArray(new Integer[numbers.size()]);
  13.             // In ra các phần tử trong mảngfor (Integer num : array) {
  14.             System.out.println(num);
  15.             }
  16.       }
  17. }
Trong ví dụ trên, chúng ta đã khai báo một biến List kiểu Integer là numbers và thêm các phần tử vào List bằng cách sử dụng phương thức add().
Để chuyển List thành mảng, chúng ta sử dụng phương thức toArray(). Trong phương thức này, chúng ta truyền một mảng rỗng có kích thước bằng với kích thước của List (new Integer[numbers.size()]). Phương thức toArray() sẽ trả về một mảng chứa các phần tử của List.
Sau khi chuyển đổi, chúng ta có thể duyệt qua mảng và in ra các phần tử để kiểm tra kết quả.
Lưu ý rằng mảng được trả về từ phương thức toArray() có kiểu dữ liệu tương ứng với kiểu dữ liệu của List. Trong ví dụ trên, List có kiểu Integer, vì vậy mảng trả về cũng là một mảng Integer (Integer[] array).

Lời kết

Trên đây là một số khái niệm cơ bản và các phương thức quan trọng khi làm việc với List trong Java. List là một cấu trúc dữ liệu linh hoạt và mạnh mẽ, cho phép bạn lưu trữ và thao tác với một tập hợp các phần tử.
Qua việc tìm hiểu các hàm và thao tác cơ bản trên List như thêm phần tử, truy cập, sắp xếp, duyệt qua phần tử và chuyển đổi thành mảng, bạn đã có một nền tảng vững chắc để làm việc với List trong Java.
Đọc thêm  Cache là gì? Phương pháp xóa Cache trên các trình duyệt

Tags :

Chia sẻ ngay :

0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Bài viết liên quan

Bảng Giá Thiết Kế Website Thương Hiệu Cho Doanh Nghiệp
Dịch vụ thiết kế website thương hiệu cho doanh nghiệp tại WEBBOX là một hành trình mang tính chiến lược,...
Set trong Java
Set trong Java là gì? Tất tần tật kiến thức về Set trong Java
Trong lĩnh vực lập trình chắc hẳn các bạn đã từng nghe về Set trong Java, Set là một cấu trúc dữ liệu...
0
Rất thích suy nghĩ của bạn, hãy bình luận.x

Tư vấn giải pháp website tốt nhất cho doanh nghiệp

Chúng tôi luôn sẵn sàng lắng nghe và đưa ra giải pháp phù hợp nhất cho vấn đề của bạn.