ArrayList to object C#
Collection trong java LinkedList trong java Nội dung chính Show
Lớp ArrayList trong javaLớp ArrayList trong java là một lớp kế thừa lớp AbstractList và triển khai của List Interface trong Collections Framework nên nó sẽ có một vài đặc điểm và phương thức tương đồng với List. ArrayList được sử dụng như một mảng động để lưu trữ các phần tử. Những điểm cần ghi nhớ về ArrayList:
Hierarchy của lớp ArrayList trong javaLớp java.util.ArrayList được khai báo như sau: public class ArrayList Khởi tạo ArrayList trong javaCó 2 kiểu khởi tạo ArrayList là non-generic và generic, xem thêm trong bài Collection trong java ArrayList list = new ArrayList(); // non-generic - kiểu cũ
ArrayList Constructor của lớp ArrayList
Phương thức của lớp ArrayList
Các Ví dụ ArrayList trong JavaKhởi tạo một ArrayListĐể khai báo một ArrayList, chúng ta cần phải import gói thư viện java.util.ArrayList của Java. Cú pháp import như sau: // import gói thư viện java.util.ArrayList
import java.util.ArrayList;
public class KhoiTaoArrayList {
public static void main(String[] args) {
// khai báo 1 ArrayList có tên là listString
// có kiểu là String
ArrayList Ngoài ra, nếu chúng ta đã biết trước số lượng phần tử thì chúng ta có thể khai báo kèm với số lượng phần tử của nó. Ví dụ dưới đây sẽ khai báo một ArrayList có kiểu String và có 20 phần tử: // import gói thư viện java.util.ArrayList
import java.util.ArrayList;
public class KhoiTaoArrayList {
public static void main(String[] args) {
// khai báo 1 ArrayList có tên là listString
// có kiểu là String
ArrayList Hiển thị các phần tử có trong ArrayListĐể hiển thị các phần tử có trong ArrayList, chúng ta có các cách như sau: Hiển thị theo tên của ArrayList. package vn.viettuts.arraylist;
import java.util.ArrayList;
public class DuyetArrayList1 {
public static void main(String[] args) {
// khai báo 1 ArrayList có tên là list
// có kiểu là String
ArrayList Kết quả: Duyệt các phần tử của ArrayList - sử dụng vòng lặp for package vn.viettuts.arraylist;
import java.util.ArrayList;
public class DuyetArrayList2 {
public static void main(String[] args) {
// khai báo 1 ArrayList có tên là list
// có kiểu là String
ArrayList Kết quả: Duyệt các phần tử của ArrayList - sử dụng vòng lặp for cải tiến package vn.viettuts.arraylist;
import java.util.ArrayList;
public class DuyetArrayList3 {
public static void main(String[] args) {
// khai báo 1 ArrayList có tên là list
// có kiểu là String
ArrayList Kết quả: Duyệt các phần tử của ArrayList - sử dụng Iterator. Để sử dụng được Iterator chúng ta cần phải import gói thư viện java.util.Iterator của Java. package vn.viettuts.arraylist;
import java.util.ArrayList;
import java.util.Iterator;
public class DuyetArrayList4 {
public static void main(String[] args) {
// khai báo 1 ArrayList có tên là list
// có kiểu là String
ArrayList Kết quả: Duyệt các phần tử của ArrayList - sử dụng ListIterator. Vì ArrayList là một lớp triển khai của List Interface nên nó cũng có thể sử dụng ListIterator để duyệt qua các phần tử của nó. Để sử dụng được ListIterator chúng ta cần phải import gói thư viện java.util.ListIterator của Java. package vn.viettuts.arraylist;
import java.util.ArrayList;
import java.util.ListIterator;
public class DuyetArrayList5 {
public static void main(String[] args) {
// khai báo 1 ArrayList có tên là list
// có kiểu là String
ArrayList Kết quả: Các phương thức addAll(), removeAll(), retainAll() của lớp ArrayListVí dụ sau minh họa cách sử dụng các phương thức addAll(), removeAll(), retainAll() của lớp ArrayList trong Java: package vn.viettuts.arraylist;
import java.util.ArrayList;
public class PhuongThucArrayList1 {
public static void main(String[] args) {
// khai báo 1 ArrayList có tên là list
// có kiểu là String
ArrayList Kết quả: ví dụ sử dụng phương thức addAll()
-----------------------------------
listA: Java, C++, PHP, Java,
ví dụ sử dụng phương thức retainAll()
-----------------------------------
listA: Java, Java,
ví dụ sử dụng phương thức removeAll()
-----------------------------------
list: C++, PHP,
Truy cập phần tử của ArrayListJava cung cấp cho chúng ta phương thức get() để truy cập đến 1 phần tử bất kỳ trong ArrayList thông qua chỉ số của phần tử đó. Chỉ số của ArrayList trong Java bắt đầu từ 0. package vn.viettuts.arraylist;
import java.util.ArrayList;
public class TruyCapArrayList1 {
public static void main(String[] args) {
// khai báo 1 ArrayList có tên là list
// có kiểu là String
ArrayList Kết quả: Java
Cập nhật giá trị của phần tử ArraylistĐể cập nhật giá trị của phần tử trong ArrayList, Java cung cấp cho chúng ta phương thức set(index, element), trong đó index là chỉ số của phần tử cần cập nhật và element là phần tử mới để thay thế. package vn.viettuts.arraylist;
import java.util.ArrayList;
public class CapNhatArrayList1 {
public static void main(String[] args) {
// khai báo 1 ArrayList có tên là list
// có kiểu là String
ArrayList Kết quả: list trước khi cập nhật:
[Java, C++, PHP, Java]
list trước khi cập nhật:
[Java, C++, PHP, Python]
Xóa phần tử ArrayListĐể xóa phần tử trong ArrayList, Java cung cấp cho chúng ta 2 phương thức có sẵn đó là phương thức clear() và phương thức remove(). Phương thức clear() Phương thức clear() sẽ xóa tất cả các phần tử có trong ArrayList. Sau đây là ví dụ minh họa phương thức này. package vn.viettuts.arraylist;
import java.util.ArrayList;
public class XoaArrayList1 {
public static void main(String[] args) {
// khai báo 1 ArrayList có tên là list
// có kiểu là String
ArrayList Kết quả: Số phần tử của list ban đầu : [Java, C++, PHP, Python]
Các phần tử của list ban đầu: 4
Số phần tử của list sau khi clear: []
Các phần tử của list sau khi clear: 0
Phương thức remove() Phương thức remove() sẽ xóa phần tử ra khỏi ArrayList theo 2 cách đó là xóa dựa vào chỉ số của phần tử và xóa trực tiếp phần tử đó (không cần biết đến chỉ số của nó). Ví dụ dưới đây sẽ minh họa 2 cách xóa này: package vn.viettuts.arraylist;
import java.util.ArrayList;
public class XoaArrayList1 {
public static void main(String[] args) {
// khai báo 1 ArrayList có tên là list
// có kiểu là String
ArrayList Kết quả: Số phần tử của list ban đầu : [Java, C++, PHP, Python]
Các phần tử của list ban đầu: 4
Số phần tử của list sau khi remove phan tu co index = 1: [Java, PHP, Python]
Các phần tử của list sau khi remove phan tu co index = 1: 3
Số phần tử của list sau khi remove phan tu "PHP": [Java, Python]
Các phần tử của list sau khi remove phan tu "PHP": 2
Tìm kiếm một phần tử ArrayListĐể tìm kiếm một phần tử trong ArrayList thì chúng ta có 3 phương pháp tìm kiếm như sau: Tìm kiếm trực tiếp phần tử. Để tìm kiếm trực tiếp phần tử, chúng ta sẽ sử dụng phương thức contains() . Kết quả trả về là true nếu tìm thấy, ngược lại trả về false. package vn.viettuts.arraylist;
import java.util.ArrayList;
public class TimKiemArrayList1 {
public static void main(String[] args) {
// khai báo 1 ArrayList có tên là list
// có kiểu là String
ArrayList Kết quả: true
false
Tìm kiếm vị trí xuất hiện đầu tiên của 1 phần tử trong ArrayList. Để tìm kiếm vị trí xuất hiện đầu tiên của 1 phần tử trong ArrayList, chúng ta sẽ sừ dụng phương thức indexOf(). Kết quả của phương thức này sẽ trả về chỉ số xuất hiện đầu tiên của phần tử đó trong ArrayList, ngược lại nếu không tìm thấy trả về -1. package vn.viettuts.arraylist;
import java.util.ArrayList;
public class TimKiemArrayList2 {
public static void main(String[] args) {
// khai báo 1 ArrayList có tên là list
// có kiểu là String
ArrayList Kết quả: 0
-1
Tìm kiếm vị trí xuất hiện cuối cùng của 1 phần tử trong List. Để tìm kiếm vị trí xuất hiện cuối cùng của 1 phần tử trong ArrayList, chúng ta sẽ sừ dụng phương thức lastIndexOf(). Kết quả của phương thức này sẽ trả về chỉ số xuất hiện cuối cùng của phần tử đó trong ArrayList, ngược lại nếu không tìm thấy trả về -1. package vn.viettuts.arraylist;
import java.util.ArrayList;
public class TimKiemArrayList3 {
public static void main(String[] args) {
// khai báo 1 ArrayList có tên là list
// có kiểu là String
ArrayList Kết quả: 3
-1
Chuyển ArrayList sang mảng (Array) trong JavaPhương thức toArray() trong Java được dùng để chuyển đổi một ArrayList sang mảng tương ứng. Sau đây là ví dụ minh họa phương thức này: package vn.viettuts.arraylist;
import java.util.ArrayList;
public class ConvertToArray {
public static void main(String[] args) {
// khai báo 1 ArrayList có tên là list
// có kiểu là String
ArrayList Kết quả: Phần tử tại vị trí 0 trong arr là Java
Phần tử tại vị trí 1 trong arr là C++
Phần tử tại vị trí 2 trong arr là PHP
Phần tử tại vị trí 3 trong arr là Java
Tạo ArrayList có kiểu generic là StringFile: ArrayListExample1.java import java.util.ArrayList;
import java.util.Iterator;
public class ArrayListExample1 {
public static void main(String args[]) {
// Creating arraylist
ArrayList Tạo ArrayList có kiểu generic là đối tượng do người dùng định nghĩaFile: ArrayListExample2.java import java.util.ArrayList;
class Student {
private String name;
private int age;
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Student@[name=" + name + ", age=" + age + "]";
}
}
public class ArrayListExample2 {
public static void main(String[] args) {
// Create listStudent
ArrayList Output: Student@[name=Bac, age=17]
Student@[name=Nam, age=20]
Student@[name=Trung, age=19]
So sánh ArrayList vs LinkedListArrayList và LinkedList đều là lớp triển khai của List Interface. Vậy khi nào chúng ta sẽ sử dụng ArrayList và khi nào chúng ta sẽ sử dụng LinkedList? Chúng ta sẽ sử dụng ArrayList khi ứng dụng của chúng ta cần truy xuất phần tử nhiều hơn cập nhật và xóa phần tử và chúng ta sẽ sử dụng LinkedList khi ứng dụng của chúng ta cần cập nhật và xóa phần tử nhiều hơn là truy cập phần tử. Tìm hiểu thêm về Sự khác nhau giữa ArrayList và LinkedList Collection trong java LinkedList trong java Bài viết liên quan:
|