VietTuts

Học java cơ bản đến nâng cao

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • Design P
  • Java WS
  • MyBatis
  • Eclipse
  • VBA
Java cơ bản Các khái niệm Java OOPs

Java Collections

Collections là gì? ArrayList trong java LinkedList trong java ArrayList vs LinkedList List Interface trong java HashSet trong java LinkedHashSet trong java TreeSet trong java Map Interface trong java HashMap trong java LinkedHashMap trong java TreeMap trong java Hashtable trong java HashMap vs Hashtable EnumSet trong java EnumMap trong java Lớp Collections trong java Sorting trong Collections Comparable trong java Comparator trong java Comparable vs Comparator Lớp Properties trong java ArrayList vs Vector Array vs ArrayList
Java JDBC Các tính năng mới trong java Lập Trình Mạng Với Java Các Tính Năng Mới Trong Java Bài Tập Java Có Lời Giải Câu hỏi phỏng vấn java

ArrayList trong java


Collection trong java
LinkedList trong java

Lớp ArrayList trong java

Lớp ArrayList trong java được sử dụng như một mảng động để lưu trữ các phần tử. Nó kế thừa lớp AbstractList và impliments giao tiếp List.

Những điểm cần ghi nhớ về ArrayList:

  • Lớp ArrayList trong java có thể chứa các phần tử trùng lặp.
  • Lớp ArrayList duy trì thứ tự của phần tử được thêm vào.
  • Lớp ArrayList là không đồng bộ (non-synchronized).
  • Lớp ArrayList cho phép truy cập ngẫu nhiên vì nó lưu dữ liệu theo chỉ mục.
  • Lớp ArrayList trong java, thao tác chậm vì cần nhiều sự dịch chuyển nếu bất kỳ phần tử nào bị xoá khỏi danh sách.

Hierarchy của lớp ArrayList trong java

Hierarchy của lớp ArrayList trong java

Khai báo lớp ArrayList

Lớp java.util.ArrayList được khai báo như sau:

public class ArrayList<E> extends AbstractList<E>
        implements List<E>, RandomAccess, Cloneable, java.io.Serializable

Các constructor của lớp ArrayList

Constructor Mô tả
ArrayList() Nó được sử dụng để khởi tạo một danh sách mảng trống.
ArrayList(Collection c) Nó được sử dụng để xây dựng một danh sách mảng được khởi tạo với các phần tử của collection c.
ArrayList(int capacity) Nó được sử dụng để xây dựng một danh sách mảng mà có dung lượng ban đầu được chỉ định.

Các phương thức của lớp ArrayList

Phương thức Mô tả
boolean add(Object o) Nó được sử dụng để nối thêm phần tử được chỉ định vào cuối một danh sách.
void add(int index, Object element) Nó được sử dụng để chèn các phần tử được chỉ định tại các chỉ số vị trí quy định trong một danh sách.
boolean addAll(Collection c) Nó được sử dụng để nối tất cả các phần tử trong collection được chỉ định vào cuối của danh sách này, theo thứ tự chúng được trả về bởi bộ lặp iterator.
boolean addAll(int index, Collection c) Nó được sử dụng để chèn tất cả các phần tử trong collection được chỉ định vào danh sách này, bắt đầu từ vị trí đã chỉ định.
void retainAll(Collection c) Nó được sử dụng để xóa những phần tử không thuộc collection c và không thuộc list hiện tại khỏi list hiện tại.
void removeAll(Collection c) Nó được sử dụng để xóa những phần tử thuộc collection c và thuộc list hiện tại khỏi list hiện tại.
int indexOf(Object o) Nó được sử dụng để trả về chỉ mục trong danh sách với sự xuất hiện đầu tiên của phần tử được chỉ định, hoặc -1 nếu danh sách không chứa phần tử này.
int lastIndexOf(Object o) Nó được sử dụng để trả về chỉ mục trong danh sách với sự xuất hiện cuối cùng của phần tử được chỉ định, hoặc -1 nếu danh sách không chứa phần tử này.
Object[] toArray() Nó được sử dụng để trả về một mảng chứa tất cả các phần tử trong danh sách này theo đúng thứ tự.
Object[] toArray(Object[] a) Nó được sử dụng để trả về một mảng chứa tất cả các phần tử trong danh sách này theo đúng thứ tự.
Object clone() Nó được sử dụng để trả về một bản sao của ArrayList.
void clear() Nó được sử dụng để xóa tất cả các phần tử từ danh sách này.
void trimToSize() Nó được sử dụng để cắt dung lượng của thể hiện ArrayList này là kích thước danh sách hiện tại.

Khởi tạo ArrayList trong java

Có 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<String> list = new ArrayList<String>(); // generic - kiểu mới

Ví dụ về ArrayList trong java

Về các phương thức để duyệt collection trong java các bạn có thể xem thêm trong bài Collection trong java

Ví dụ ArrayList có kiểu generic là String

File: ArrayListExample1.java

import java.util.ArrayList;
import java.util.Iterator;

public class ArrayListExample1 {
    public static void main(String args[]) {
        // Creating arraylist
        ArrayList<String> list = new ArrayList<String>();
        // Add objects to arraylist
        list.add("Java");
        list.add("C++");
        list.add("PHP");
        list.add("Java");
        // Show list through Iterator
        Iterator<String> itr = list.iterator();
        while (itr.hasNext()) {
            System.out.print(itr.next() + ", ");
        }
        // Show list through for-each
        System.out.println();
        for (String obj : list) {
            System.out.print(obj + ", ");
        }
        // Show list through index
        System.out.println();
        int size = list.size();
        for (int i = 0; i < size; i++) {
            System.out.print(list.get(i) + ", ");
        }
    }
}

Ví dụ ArrayList có kiểu generic là đối tượng do người dùng định nghĩa

File: 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<Student> listStudent = new ArrayList<Student>();
        // Create students
        Student student1 = new Student("Bac", 17);
        Student student2 = new Student("Nam", 20);
        Student student3 = new Student("Trung", 19);
        // Add objects to listStudent
        listStudent.add(student1);
        listStudent.add(student2);
        listStudent.add(student3);
        // Show listStudent
        for (Student student : listStudent) {
            System.out.println(student.toString());
        }
    }
}

Output:

Student@[name=Bac, age=17]
Student@[name=Nam, age=20]
Student@[name=Trung, age=19]

Ví dụ các phương thức addAll(), removeAll(), retainAll() của lớp ArrayList

File: ArrayListExample3.java

import java.util.ArrayList;

public class ArrayListExample3 {
    public static void main(String[] args) {
        // Create list
        ArrayList<String> list = new ArrayList<String>();
        // Add objects to list
        list.add("Java");
        list.add("C++");
        list.add("PHP");
        list.add("Java");

        // addAll()
        ArrayList<String> listA = new ArrayList<String>();
        listA.addAll(list);
        System.out.print("listA:");
        showList(listA);

        // retainAll() listA
        ArrayList<String> listB = new ArrayList<String>();
        listB.add("Java");
        listA.retainAll(listB);
        System.out.print("listA:");
        showList(listA);

        // removeAll() listA
        list.removeAll(listA);
        System.out.print("listA:");
        showList(list);
    }

    public static void showList(ArrayList<String> list) {
        // Show list through for-each
        for (String obj : list) {
            System.out.print("\t" + obj + ", ");
        }
        System.out.println();
    }
}

Output:

listA:	Java, 	C++, 	PHP, 	Java, 
listA:	Java, 	Java, 
listA:	C++, 	PHP, 

Collection trong java
LinkedList trong java

Bài viết liên quan:

  • Mảng (Array) trong java
  • ArrayList trong java
  • Sự khác nhau giữa Array với ArrayList
  • Sắp xếp các phần tử của List
  • Sự khác nhau giữa ArrayList và Vector
  • TreeSet trong java
  • HashSet trong java
  • HashMap trong java
  • Sự khác nhau giữa HashMap và Hashtable
  • List câu hỏi phỏng vấn Java Collection

Recent Updates

Các tính năng của JUnit Test FrameworkVí dụ JUnit trên EclipseJUnit là gì?List câu hỏi phỏng vấn Java Collection201 câu hỏi phỏng vấn java core (phần 4)201 câu hỏi phỏng vấn java core (phần 3)201 câu hỏi phỏng vấn java core (phần 2)201 câu hỏi phỏng vấn java core (phần 1)TreeMap trong javaHashMap trong javaChuyển số thành tên cột trong excel vbaKết nối Excel VBA tới Access Database

VietTuts on facebook

Học Java Cơ Bản Đến Nâng Cao - VietTuts.Vn

Danh sách bài học

Học java
Học servlet
Học jsp
Học Hibernate
Học Struts2
Học Spring
Học SQL
Học tiếng Anh giao tiếp

Câu hỏi phỏng vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Struts2
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

About VietTuts.Vn

Hệ thống bài học trên VietTuts.Vn bao gồm các bài lý thuyết và thực hành về các công nghệ java và công nghệ web. Các bài lý thuyết trên hệ thống VietTuts.Vn được tham khảo và tổng hợp từ các trang http://javatpoint.com, http://www.tutorialspoint.com, http://docs.oracle.com/en ...

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | VietTuts.Vn team | Liên hệ | Chính sách - riêng tư