So sánh với Vector

Một phần của tài liệu Bài giảng Lập trình hướng đối tượng: Phần 2 (Trang 70 - 71)

THƯ VIỆN CÁC COLLECTION TRONG JAVA VÀ ÁP DỤNG.

8.3.1So sánh với Vector

Nếu bạn đã sử dụng Vector , bạn đã quen với những điều cơ bản của List . (Tất nhiên, List là một interface, trong khi Vector là một “thực thi” cụ thể) .List sửa một số thiếu sót API nhỏ trong Vector . Viêc̣ sử dung ̣ Vector, chẳng hạn như phương thức elementAt và setElementAt , giúp ta đặt tên rõràng hơn. Ta xem vídu ̣dưới đây:

a[i] = a[j].times(a[k]); Vector tương đương:

v.setElementAt(v.elementAt(j).times(v.elementAt(k)), i); List tương đương là:

208

v.set(i, v.get(j).times(v.get(k)));

Bạn có thể đã nhận thấy rằng phương thức set đã thay thế phương thức trong Vector là setElementAt , đảo ngược thứ tự của các đối số để chúng phù hợp với hoạt động mảng tương ứng. Xem xét vídu ̣sau:

gift[5] = "golden rings"; Vector tương đương là:

gift.setElementAt("golden rings", 5); List tương đương là:

gift.set(5, "golden rings");

Vì lợi ích của tính nhất quán của, phương thức add (int, E) , thay thế insertElementAt (Object, int) , cũng đảo ngược thứ tự của các đối số.

Ba thao tác phạm vi trong Vector ( indexOf , LastIndexOf , và setSize ) đã được thay thế bởi Range-view (subList) mạnh mẽ và phù hợp hơn rất nhiều.

8.3.2 ArrayList

Định nghĩa: ArrayList là một phiên bản thông minh hơn của mảng. Thuộc không gian tên System.Collection.ArrayList, lớp ArrayList có những đặc điểm của Collection (tập hợp) hơn là mảng như:

Kích thước mảng cố định theo khai báo còn ArrayList có thể tự động giãn theo yêu cầu. Nếu mảng cần định kích thước, gán trị thì ArrayList cung cấp các phương thức cho phép thêm, chèn, xóa một phần tử trong tập hợp.

- Các phần tử của mảng phải cùng một kiểu dữ liệu, còn các phần tử của ArrayList có kiểu chung làObject, nghĩa là có thể có các kiểu khác.

Cách truy xuất đến một phần tử của ArrayList cũng như cách truy xuất phần tử của mảng.

Một phần của tài liệu Bài giảng Lập trình hướng đối tượng: Phần 2 (Trang 70 - 71)