1. Resizable: Array là kích thước tĩnh có cấu trúc dữ liệu chiều dài cố định, không thể thay đổi độ dài sau khi tạo đối tượng Array.
ArrayList có kích thước động. Mỗi đối tượng ArrayList có khả năng biến thể ví dụ kích thước của ArrayList. Khi các phần tử được thêm vào một ArrayList khả năng của nó phát triển tự động.
2. Hiệu suất: Hiệu suất của Array và ArrayList phụ thuộc vào hoạt động bạn đang thực hiện:
resize () operatation: Tự động thay đổi kích cỡ của ArrayList sẽ làm chậm hiệu suất vì nó sẽ sử dụng mảng tạm thời để sao chép các phần tử từ mảng cũ sang mảng mới.
ArrayList được hỗ trợ nội bộ bởi Array trong khi thay đổi kích thước khi nó gọi phương thức thực hiện native System.arrayCopy (src, srcPos, dest, destPos, length).
add () hoặc get (): thêm một phần tử hoặc lấy ra một phần tử từ mảng hoặc đối tượng arraylist có hiệu suất gần giống nhau, như đối với đối tượng ArrayList những thao tác này chạy trong thời gian không đổi.
3. Primitive: ArrayList không thể chứa các kiểu dữ liệu nguyên thủy (như int, float, double) nó chỉ có thể chứa Object trong khi Array có thể chứa cả các kiểu dữ liệu nguyên thuỷ cũng như các đối tượng.
Một có được một quan niệm sai lầm rằng chúng ta có thể lưu trữ nguyên thủy (int, float, double) trong ArrayList, nhưng nó không đúng sự thật
Giả sử chúng ta có đối tượng ArrayList,
ArrayList arraylistobject = new ArrayList ();
arraylistobject.add (23); / / cố gắng để thêm 23 (nguyên thủy)
JVM thông qua Autoboxing (chuyển đổi nguyên thủy sang các đối tượng nội bộ bên trong) đảm bảo rằng chỉ các đối tượng được thêm vào đối tượng array.
do đó, trên bước nội bộ hoạt động như thế này:
arraylistobject.add (new Integer (23));
// Chuyển đổi int primitive sang Integer object và thêm vào arraylistobject
4. Iterating các giá trị: Chúng tôi có thể sử dụng iterator để lặp qua ArrayList. Các Iterator trả về bởi phương thức Iterator và Listiterator của lớp ArrayList là không thành công. Chúng ta có thể sử dụng cho vòng lặp hoặc cho mỗi vòng lặp để lặp qua mảng.
5. Loại-an toàn: Trong Java, người ta có thể đảm bảo an toàn Loại thông qua Generics. trong khi Array là một cấu trúc dữ liệu đồng nhất, do đó nó sẽ chứa các đối tượng của lớp cụ thể hoặc các kiểu nguyên thủy của kiểu dữ liệu cụ thể. Trong mảng nếu một cố gắng để lưu trữ các loại dữ liệu khác với những gì được chỉ định trong khi tạo ra các đối tượng mảng, ArrayStoreException được ném ra.
ví dụ :
Chuỗi temp [] = new Chuỗi [2]; // tạo một dãy chuỗi kích thước 2
temp [0] = new Số nguyên (12); // throws ArrayStoreException, cố gắng thêm đối tượng Integer trong String []
6. Chiều dài: Độ dài của ArrayList được cung cấp bởi phương thức size () trong khi Mỗi đối tượng mảng có biến chiều dài trả về chiều dài của mảng.
ví dụ :
Integer arrayobject [] = new Integer [3];
arraylength = arrayobject.length; / / sử dụng biến chiều dài mảng
ArrayList arraylistobject = new ArrayList ();
arraylistobject.add (12);
arraylistobject.size (); / / sử dụng phương pháp kích thước arraylistobject
7. Thêm các phần tử: Chúng ta có thể chèn các phần tử vào đối tượng arraylist sử dụng phương thức add () trong khi trong mảng chúng ta chèn các phần tử bằng toán tử gán.
ví dụ :
Integer addarrayobject [] = new Integer [3];
addarrayobject [0] = new Integer (8); // đối tượng mới được thêm vào đối tượng mảng
8. Đa chiều: Mảng có thể được đa chiều, trong khi ArrayList luôn là chiều duy nhất.
ví dụ về mảng đa chiều:
Integer addarrayobject [] [] = new Integer [3] [2];
addarrayobject [0] [0] = new Số nguyên (8)
Google Dịch dành cho doanh nghiệp:Bộ công cụ DịchTrình biên dịch Trang web
ArrayList có kích thước động. Mỗi đối tượng ArrayList có khả năng biến thể ví dụ kích thước của ArrayList. Khi các phần tử được thêm vào một ArrayList khả năng của nó phát triển tự động.
2. Hiệu suất: Hiệu suất của Array và ArrayList phụ thuộc vào hoạt động bạn đang thực hiện:
resize () operatation: Tự động thay đổi kích cỡ của ArrayList sẽ làm chậm hiệu suất vì nó sẽ sử dụng mảng tạm thời để sao chép các phần tử từ mảng cũ sang mảng mới.
ArrayList được hỗ trợ nội bộ bởi Array trong khi thay đổi kích thước khi nó gọi phương thức thực hiện native System.arrayCopy (src, srcPos, dest, destPos, length).
add () hoặc get (): thêm một phần tử hoặc lấy ra một phần tử từ mảng hoặc đối tượng arraylist có hiệu suất gần giống nhau, như đối với đối tượng ArrayList những thao tác này chạy trong thời gian không đổi.
3. Primitive: ArrayList không thể chứa các kiểu dữ liệu nguyên thủy (như int, float, double) nó chỉ có thể chứa Object trong khi Array có thể chứa cả các kiểu dữ liệu nguyên thuỷ cũng như các đối tượng.
Một có được một quan niệm sai lầm rằng chúng ta có thể lưu trữ nguyên thủy (int, float, double) trong ArrayList, nhưng nó không đúng sự thật
Giả sử chúng ta có đối tượng ArrayList,
ArrayList arraylistobject = new ArrayList ();
arraylistobject.add (23); / / cố gắng để thêm 23 (nguyên thủy)
JVM thông qua Autoboxing (chuyển đổi nguyên thủy sang các đối tượng nội bộ bên trong) đảm bảo rằng chỉ các đối tượng được thêm vào đối tượng array.
do đó, trên bước nội bộ hoạt động như thế này:
arraylistobject.add (new Integer (23));
// Chuyển đổi int primitive sang Integer object và thêm vào arraylistobject
4. Iterating các giá trị: Chúng tôi có thể sử dụng iterator để lặp qua ArrayList. Các Iterator trả về bởi phương thức Iterator và Listiterator của lớp ArrayList là không thành công. Chúng ta có thể sử dụng cho vòng lặp hoặc cho mỗi vòng lặp để lặp qua mảng.
5. Loại-an toàn: Trong Java, người ta có thể đảm bảo an toàn Loại thông qua Generics. trong khi Array là một cấu trúc dữ liệu đồng nhất, do đó nó sẽ chứa các đối tượng của lớp cụ thể hoặc các kiểu nguyên thủy của kiểu dữ liệu cụ thể. Trong mảng nếu một cố gắng để lưu trữ các loại dữ liệu khác với những gì được chỉ định trong khi tạo ra các đối tượng mảng, ArrayStoreException được ném ra.
ví dụ :
Chuỗi temp [] = new Chuỗi [2]; // tạo một dãy chuỗi kích thước 2
temp [0] = new Số nguyên (12); // throws ArrayStoreException, cố gắng thêm đối tượng Integer trong String []
6. Chiều dài: Độ dài của ArrayList được cung cấp bởi phương thức size () trong khi Mỗi đối tượng mảng có biến chiều dài trả về chiều dài của mảng.
ví dụ :
Integer arrayobject [] = new Integer [3];
arraylength = arrayobject.length; / / sử dụng biến chiều dài mảng
ArrayList arraylistobject = new ArrayList ();
arraylistobject.add (12);
arraylistobject.size (); / / sử dụng phương pháp kích thước arraylistobject
7. Thêm các phần tử: Chúng ta có thể chèn các phần tử vào đối tượng arraylist sử dụng phương thức add () trong khi trong mảng chúng ta chèn các phần tử bằng toán tử gán.
ví dụ :
Integer addarrayobject [] = new Integer [3];
addarrayobject [0] = new Integer (8); // đối tượng mới được thêm vào đối tượng mảng
8. Đa chiều: Mảng có thể được đa chiều, trong khi ArrayList luôn là chiều duy nhất.
ví dụ về mảng đa chiều:
Integer addarrayobject [] [] = new Integer [3] [2];
addarrayobject [0] [0] = new Số nguyên (8)
Google Dịch dành cho doanh nghiệp:Bộ công cụ DịchTrình biên dịch Trang web
Nhận xét
Đăng nhận xét