?
- M?ng thông th??ng có th? ?áp ?ng ???c m?t ph?n, nh?ng ch?a ??. Vì trong quá trình thao tác d? li?u, ta l?i c?n thêm, xóa, s?a, chèn. v..v.v.. Ngh? ??n các thao tác này, n?u b?n nào ?ã t?ng h?c C và Pascal ch?c ch?n s? ngh? t?i con tr?, vì ch? có con tr? m?i có th?. Nh?ng làm vi?c v?i con tr? trong C và Pascal khá m?t m?i và dài dòng, khó hi?u, th?m chí nhi?u b?n không th? h?c n?i khi g?p ph?n này và b? cu?c v?i l?p trình vì nó! ^^
- Nói v?y các b?n ??ng lo l?ng, vì ArrayList h?c c?c k? d? dàng, th?m chí b?n không hi?u con tr? b?n v?n có th? thao tác ???c!
- ArrayList có th? nói nó là 1 phiên b?n m?i c?a m?ng. Nó c?ng truy xu?t d? li?u theo ch? s?, nh?ng nó có nhi?u ?i?u v??t tr?i h?n r?t nhi?u so v?i m?ng!
**M?t trong nh?ng ?i?u khi?n mình r?t thích khi h?c các bài Java c? b?n ?ó chính là ArrayList.
Mình s? gi?i thi?u 1 s? ph??ng th?c thông d?ng hay dùng trong ArrayList , và s? gi?i thích chúng thông qua các ví d? phía d??i, còn l?i khi th?c hi?n các b?n t? tìm hi?u b?ng "Ctrl + cách"

?
Ví d? 1:T?o 1 m?ng ki?u ArrayList ?? x? lý 1 danh sách tên h?c sinh, ??n gi?n thôi nhé, ch?a x? lý các ??i t??ng nhi?u thu?c tính. Ví d? này ch? là 1 ArrayList gi?ng 1 m?ng thông th??ng. V?i ví d? này, chúng ta s? làm quen v?i khác ph??ng th?c thêm, chèn, s?a, xóa!
PHP:
package javaandroidvn;
import java.util.ArrayList;
public class JavaAndroidVn {
public static void main(String[] args) {
ArrayList listHS = new ArrayList(); // Khai báo 1 ??i t??ng ArrayList
String ten1 = "Vu Van T"; //T?o ??i t??ng ten1 là tên 1 ng??i
listHS.add(ten1); //Thêm ??i t??ng ten1 vào trong listHS
String ten2 = "Nguyen Van A";
listHS.add(ten2);
String ten3 = "Nguyen Van B";
listHS.add(ten3);
String ten4 = "Vu Van C";
listHS.add(ten4);
//Nh? v?y t?i ?o?n code trên, ArrayList listHS ?ã có 4 ??i t??ng ???c thêm vào!
// T??ng t? nh? m?ng, ArrayList truy xu?t theo ch? s? và b?t ??u t? 0
for (int i = 0; i < listHS.size(); i++) { // listHS.size() là l?y ra kích c? c?a listHS
System.out.println(listHS.get(i)); //L?y ra t?ng ??i t??ng theo ch? s?!
}
//Chèn thêm 1 ??i t??ng tenChen vào v? trí b?t k? c?a ArrayList!
String tenChen = "Nguyen Van Chen";
listHS.add(2, tenChen); //Nó s? chèn vào v? trí s? 2 và ??y danh sách dài ra sau!
System.out.println(" Danh sách sau khi b? chèn thêm: ");
for (int i = 0; i < listHS.size(); i++) {
System.out.println(listHS.get(i));
}
//S?a giá tr? c?a 1 ??i t??ng, gán nó b?ng ??i t??ng khác theo ch? s?!
System.out.println(" Danh sách sau khi b? s?a giá tr? 1 ??i t??ng: ");
String tenSet = "Hoang Van Set";
listHS.set(3, tenSet); //S?a ph?n t? th? 3 thành ph?n t? tenSet
for (int i = 0; i < listHS.size(); i++) {
System.out.println(listHS.get(i));
}
//Xóa 1 ph?n t? trong ArrayList
System.out.println(" Ph?n t? th? 1 ?ã b? xóa ?i");
listHS.remove(1);
for (int i = 0; i < listHS.size(); i++) {
System.out.println(listHS.get(i));
}
System.out.println(" Xóa toàn b? các ph?n t? ArrayList");
listHS.clear();
for (int i = 0; i < listHS.size(); i++) {
System.out.println(listHS.get(i));
} //S? không còn gì ?? in ra n?a!
}
}
T?o 1 m?ng các ??i t??ng, m?i ??i t??ng g?m 2 thu?c tính tên và tu?i. Gán m?t vài giá tr? r?i in ra màn hình! Các ph??ng th?c thao tác t??ng t? nh? ? ví d? 1, ch? có s? khác bi?t là cách khai báo m?ng, các b?n chú ý nhé!
PHP:
package javaandroidvn;
import java.util.ArrayList;
class HocSinh{
public String ten;
public int tuoi;
}
public class JavaAndroidVn {
public static void main(String[] args) {
ArrayList<HocSinh> listHS = new ArrayList(); // Khai báo 1 ??i t??ng ArrayList, các ph?n t? t?o ra t? l?p HocSinh
HocSinh a = new HocSinh();
a.ten = "V? V?n A";
a.tuoi = 19;
listHS.add(a); // Thêm ??i t??ng và listHS
HocSinh b = new HocSinh();
b.ten = "V? V?n B";
b.tuoi = 20;
listHS.add(b);
HocSinh c = new HocSinh();
c.ten = "V? V?n C";
c.tuoi = 22;
listHS.add(c);
System.out.println("Thông tin các h?c sinh ?ã thêm vào ArrayList là: ");
for(int i=0; i<listHS.size(); i++){
System.out.println("Tên: "+listHS.get(i).ten+" Tu?i: "+listHS.get(i).tuoi);
}
}
}
Nh?p 1 danh sách h?c sinh t? bàn phím, danh sách có n ph?n t? . M?i ph?n t? có 2 thu?c tính là tên và tu?i. In toàn b? danh sách ra màn hình! Các thu?c tính ?? private
Available link for download