Java ArrayList trong bộ sưu tập Java với thêm, ví dụ về tập hợp chung so với không chung chung, addAll, remove, removeAll, chứa, chứa, containsAll, giữ lạiAll, phương thức xóa và trình lặp, tập hợp chung và không chung chung.

Bạn đang xem : cách khai báo danh sách mảng trong java

Java ArrayList

Hệ thống phân cấp lớp Java ArrayList

Lớp ArrayList trong Java sử dụng mảng động để lưu trữ các phần tử. Nó giống như một mảng, nhưng không có giới hạn về kích thước. Chúng tôi có thể thêm hoặc bớt các phần tử bất cứ lúc nào. Vì vậy, nó linh hoạt hơn nhiều so với mảng truyền thống. Nó được tìm thấy trong gói java.util. Nó giống như Vector trong C ++.

ArrayList trong Java cũng có thể có các phần tử trùng lặp. Nó thực hiện giao diện Danh sách để chúng ta có thể sử dụng tất cả các phương pháp của giao diện Danh sách ở đây. ArrayList duy trì thứ tự chèn bên trong.

Nó kế thừa lớp AbstractList và triển khai giao diện Danh sách .

Những điểm quan trọng về lớp Java ArrayList là:

  • Lớp Java ArrayList có thể chứa các phần tử trùng lặp.
  • Lớp Java ArrayList duy trì thứ tự chèn.
  • Lớp Java ArrayList không được đồng bộ hóa .
  • Java ArrayList cho phép truy cập ngẫu nhiên vì mảng hoạt động trên cơ sở chỉ mục.
  • Trong ArrayList, thao tác chậm hơn một chút so với LinkedList trong Java vì cần phải dịch chuyển nhiều lần nếu bất kỳ phần tử nào bị xóa khỏi danh sách mảng.
  • Chúng tôi không thể tạo một danh sách mảng của các kiểu nguyên thủy, chẳng hạn như int, float, char, v.v. Bắt buộc phải sử dụng lớp trình bao bọc bắt buộc trong những trường hợp như vậy. Ví dụ:

  • Java ArrayList được khởi tạo theo kích thước. Kích thước là động trong danh sách mảng, thay đổi tùy theo các phần tử được thêm vào hoặc xóa khỏi danh sách.

Thứ bậc của lớp ArrayList

Như được hiển thị trong sơ đồ trên, lớp Java ArrayList mở rộng lớp AbstractList để triển khai giao diện Danh sách. Giao diện Danh sách mở rộng Bộ sưu tập và các giao diện Có thể lặp lại theo thứ tự phân cấp.

Khai báo lớp ArrayList

Hãy xem phần khai báo cho lớp java.util.ArrayList.

Các hàm tạo của ArrayList

Người xây dựng
Sự mô tả

Lập danh sách()
Nó được sử dụng để xây dựng một danh sách mảng trống.

ArrayList (Bộ sưu tập & lt ;? mở rộng E & gt; 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 tập hợp c.

ArrayList (int dung lượng)
Nó được sử dụng để xây dựng một danh sách mảng có dung lượng ban đầu được chỉ định.

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

Phương pháp
Sự mô tả

void add (int index, E element)
Nó được sử dụng để chèn phần tử được chỉ định vào vị trí được chỉ định trong danh sách.

boolean thêm (E e)
Nó được sử dụng để nối phần tử được chỉ định vào cuối danh sách.

boolean addAll (Bộ sưu tập & lt ;? mở rộng E & gt; c)
Nó được sử dụng để nối tất cả các phần tử trong tập hợp được chỉ định vào cuối danh sách này, theo thứ tự chúng được trả về bởi trình lặp của tập hợp đã chỉ định.

boolean addAll (int index, Collection & lt ;? expand E & gt; c)
Nó được sử dụng để nối tất cả các phần tử trong tập hợp đã chỉ định, bắt đầu từ vị trí đã chỉ định của danh sách.

void clear ()
Nó được sử dụng để xóa tất cả các phần tử khỏi danh sách này.

void ensureCapacity (int requiredCapacity)
Nó được sử dụng để nâng cao năng lực của một cá thể ArrayList.

E get (int index)
Nó được sử dụng để tìm nạp phần tử từ vị trí cụ thể của danh sách.

boolean isEmpty ()
Nó trả về true nếu danh sách trống, ngược lại là false.

Iterator ()
listIterator ()

int lastIndexOf (Đối tượng o)
Nó được sử dụng để trả về chỉ mục trong danh sách này về lần 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.

Đối tượng [] 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ự.

& lt; T & gt; T [] toArray (T [] 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ự.

Bản sao đối tượng ()
Nó được sử dụng để trả về một bản sao cạn của ArrayList.

boolean chứa (Đối tượng o)
Nó trả về true nếu danh sách chứa phần tử được chỉ định.

Xem Thêm  Tìm kiếm: getElement *, querySelector * - js tìm phần tử dom

int indexOf (Đối tượng o)
Nó được sử dụng để trả về chỉ mục trong danh sách này về lần 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.

E remove (int index)
Nó được sử dụng để loại bỏ phần tử hiện diện ở vị trí được chỉ định trong danh sách.

boolean loại bỏ (Đối tượng o)
Nó được sử dụng để loại bỏ sự xuất hiện đầu tiên của phần tử được chỉ định.

boolean removeAll (Bộ sưu tập & lt;? & gt; c)
Nó được sử dụng để xóa tất cả các phần tử khỏi danh sách.

boolean removeIf (Predicate & lt ;? super E & gt; filter)
Nó được sử dụng để loại bỏ tất cả các phần tử khỏi danh sách thỏa mãn vị từ đã cho.

void được bảo vệ removeRange (int fromIndex, int toIndex)
Nó được sử dụng để loại bỏ tất cả các phần tử nằm trong phạm vi đã cho.

void ReplaceAll (Toán tử UnaryOperator & lt; E & gt;)
Nó được sử dụng để thay thế tất cả các phần tử từ danh sách bằng phần tử được chỉ định.

void keepAll (Bộ sưu tập & lt;? & gt; c)
Nó được sử dụng để giữ lại tất cả các phần tử trong danh sách có trong bộ sưu tập được chỉ định.

Tập hợp E (chỉ mục int, phần tử E)
Nó được sử dụng để thay thế phần tử được chỉ định trong danh sách, hiện diện ở vị trí đã chỉ định.

void sắp xếp (Bộ so sánh & lt ;? super E & gt; c)
Nó được sử dụng để sắp xếp các phần tử của danh sách trên cơ sở bộ so sánh được chỉ định.

Spliterator & lt; E & gt; spliterator ()
Nó được sử dụng để tạo một spliterator trên các phần tử trong danh sách.

Danh sách & lt; E & gt; subList (int fromIndex, int toIndex)
Nó được sử dụng để tìm nạp tất cả các phần tử nằm trong phạm vi đã cho.

int size ()
Nó được sử dụng để trả về số phần tử có trong danh sách.

void trimToSize ()
Nó được sử dụng để giảm dung lượng của cá thể ArrayList này thành kích thước hiện tại của danh sách.

Java Vs. Bộ sưu tập chung

Khung thu thập Java không chung chung trước JDK 1.5. Kể từ 1.5, nó là chung chung.

Bộ sưu tập chung mới của Java cho phép bạn chỉ có một loại đối tượng trong một bộ sưu tập. Giờ đây, nó là kiểu chữ an toàn, vì vậy không cần đánh máy trong thời gian chạy.

Hãy xem ví dụ cũ không chung chung về việc tạo một bộ sưu tập Java.

Hãy xem ví dụ chung mới về việc tạo bộ sưu tập java.

Trong một tập hợp chung, chúng tôi chỉ định loại trong dấu ngoặc nhọn. Bây giờ ArrayList buộc phải có kiểu đối tượng được chỉ định duy nhất trong đó. Nếu bạn cố gắng thêm một loại đối tượng khác, nó sẽ gây ra lỗi thời gian biên dịch.

Để biết thêm thông tin về các phần tử chung của Java, hãy nhấp vào đây Hướng dẫn về các phần tử chung của Java .

Ví dụ về danh sách mảng Java

Tên tệp: ArrayListExample1.java

Đầu ra:

 [Xoài, Táo, Chuối, Nho]

Lặp lại danh sách mảng bằng lặp lại bằng lặp lại

Hãy xem một ví dụ để duyệt qua các phần tử ArrayList bằng giao diện Iterator.

Tên tệp: ArrayListExample2.java

Đầu ra:

 Mango
Quả táo
Trái chuối
Quả nho

Lặp lại ArrayList bằng vòng lặp For-each

Hãy xem một ví dụ để xem qua các phần tử ArrayList bằng cách sử dụng vòng lặp for-each

Tên tệp: ArrayListExample3.java

Đầu ra:

 Mango
Quả táo
Trái chuối
Quả nho

Lấy và đặt ArrayList

Phương thức get () trả về phần tử tại chỉ mục được chỉ định, trong khi phương thức set () thay đổi phần tử.

Tên tệp: ArrayListExample4.java

Đầu ra:

 Phần tử trả lại: Apple
Xoài
ngày
Trái chuối
Quả nho

Cách sắp xếp ArrayList

Gói java.util cung cấp một lớp tiện ích Bộ sưu tập , có phương thức tĩnh sort (). Sử dụng phương thức Collections.sort () , chúng tôi có thể dễ dàng sắp xếp ArrayList.

Tên tệp: SortArrayList.java

Đầu ra:

 Apple
Trái chuối
Quả nho
Xoài
Sắp xếp số ...
1
11
21
51

Các cách để lặp lại các phần tử của tập hợp trong Java

Có nhiều cách khác nhau để xem qua các phần tử của bộ sưu tập:

  1. Bằng giao diện Iterator.
  2. Theo từng vòng lặp.
  3. Bằng giao diện ListIterator.
  4. Bằng vòng lặp for.
  5. Bằng phương thức forEach ().
  6. Bằng phương thức forEachRemaining ().

Lặp lại Bộ sưu tập theo các cách còn lại

Hãy xem một ví dụ để xem qua các phần tử ArrayList thông qua các cách khác

Tên tệp: ArrayList4.java

Đầu ra:

 Duyệt qua danh sách thông qua Trình lặp lại danh sách:
Ajay
Ravi
Vijay
Ravi
Duyệt qua danh sách qua vòng lặp for:
Ravi
Vijay
Ravi
Ajay
Duyệt qua danh sách thông qua phương thức forEach ():
Ravi
Vijay
Ravi
Ajay
Duyệt qua danh sách thông qua phương thức forEachRemaining ():
Ravi
Vijay
Ravi
Ajay

Đối tượng lớp do người dùng định nghĩa trong Java ArrayList

Hãy xem một ví dụ mà chúng ta đang lưu trữ đối tượng lớp Sinh viên trong một danh sách mảng.

Xem Thêm  Ant Design - bind trong reactjs

Tên tệp: ArrayList5.java

Đầu ra:

 101 Sonoo 23
       102 Ravi 21
       103 Hanumat 25

Java ArrayList Serialization and Deserialization Ví dụ

Hãy xem một ví dụ để tuần tự hóa một đối tượng ArrayList và sau đó giải mã hóa nó.

Tên tệp: ArrayList6.java

Đầu ra:

 [Ravi, Vijay, Ajay]

Ví dụ về Java ArrayList để thêm các phần tử

Tại đây, chúng tôi thấy các cách khác nhau để thêm một phần tử.

Tên tệp: ArrayList7.java

Đầu ra:

 Danh sách các phần tử ban đầu: []
Sau khi gọi phương thức add (E e): [Ravi, Vijay, Ajay]
Sau khi gọi phương thức add (int index, E element): [Ravi, Gaurav, Vijay, Ajay]
Sau khi gọi phương thức addAll (Collection & lt ;? expand E & gt; c):
[Ravi, Gaurav, Vijay, Ajay, Sonoo, Hanumat]
Sau khi gọi phương thức addAll (int index, Collection & lt ;? expand E & gt; c):
[Ravi, John, Rahul, Gaurav, Vijay, Ajay, Sonoo, Hanumat]

Ví dụ về Java ArrayList để loại bỏ các phần tử

Tại đây, chúng tôi thấy các cách khác nhau để xóa một phần tử.

Tên tệp: ArrayList8.java

Đầu ra:

 Danh sách các phần tử ban đầu: [Ravi, Vijay, Ajay, Anuj, Gaurav]
Sau khi gọi phương thức remove (object): [Ravi, Ajay, Anuj, Gaurav]
Sau khi gọi phương thức remove (index): [Ajay, Anuj, Gaurav]
Danh sách cập nhật: [Ajay, Anuj, Gaurav, Ravi, Hanumat]
Sau khi gọi phương thức removeAll (): [Ajay, Anuj, Gaurav]
Sau khi gọi phương thức removeIf (): [Anuj, Gaurav]
Sau khi gọi phương thức clear (): []

Ví dụ về Java ArrayList của phương thức keepAll ()

Tên tệp: ArrayList9.java

Đầu ra:

 lặp lại các phần tử sau khi giữ lại các phần tử của al2
       Ravi

Ví dụ về Java ArrayList về phương thức isEmpty ()

Tên tệp: ArrayList4.java

Đầu ra:

 Là ArrayList Empty: true
Sau khi chèn
ArrayList Empty: false

Java ArrayList Ví dụ: Sách

Hãy xem ví dụ về ArrayList trong đó chúng tôi đang thêm sách vào danh sách và in tất cả sách.

Tên tệp: ArrayListExample20.java

Đầu ra:

 101 Hãy để chúng tôi C Yashwant Kanetkar BPB 8
102 Truyền thông Dữ liệu và Mạng Forouzan Mc Graw Hill 4
103 Hệ điều hành Galvin Wiley 6

Kích thước và Dung lượng của ArrayList

Kích thước và dung lượng của danh sách mảng là hai thuật ngữ mà người mới bắt đầu cảm thấy khó hiểu. Hãy hiểu nó trong phần này với sự trợ giúp của một số ví dụ. Hãy xem xét đoạn mã sau.

Tên tệp: SizeCapacity.java

Đầu ra:

 Kích thước của mảng là: 0

Giải thích: Kết quả đầu ra có ý nghĩa vì chúng ta chưa làm gì với danh sách mảng. Bây giờ hãy quan sát chương trình sau.

Tên tệp: SizeCapacity1.java

Đầu ra:

 Kích thước của mảng là: 0

Giải thích: Chúng tôi thấy rằng kích thước vẫn là 0 và lý do đằng sau điều này là số 10 đại diện cho khả năng không có kích thước. Trên thực tế, kích thước đại diện cho tổng số phần tử có trong mảng. Vì chúng tôi chưa thêm bất kỳ phần tử nào, do đó, kích thước của danh sách mảng bằng 0 trong cả hai chương trình.

Dung lượng biểu thị tổng số phần tử mà danh sách mảng có thể chứa. Do đó, dung lượng của danh sách mảng luôn lớn hơn hoặc bằng dung lượng của danh sách mảng. Khi chúng ta thêm một phần tử vào danh sách mảng, nó sẽ kiểm tra xem kích thước của danh sách mảng có bằng với dung lượng hay không. Nếu có, thì dung lượng của danh sách mảng tăng lên. Vì vậy, trong ví dụ trên, dung lượng sẽ là 10 cho đến khi 10 phần tử được thêm vào danh sách. Khi chúng ta thêm phần tử thứ 11, công suất sẽ tăng lên. Lưu ý rằng trong cả hai ví dụ, dung lượng của danh sách mảng là 10. Trong trường hợp đầu tiên, dung lượng là 10 vì dung lượng mặc định của danh sách mảng là 10. Trong trường hợp thứ hai, chúng tôi đã đề cập rõ ràng rằng dung lượng của mảng danh sách là 10.

Lưu ý: Không có bất kỳ phương thức chuẩn nào để cho biết dung lượng tăng lên như thế nào trong danh sách mảng. Trên thực tế, cách tăng dung lượng khác nhau giữa các phiên bản GDK này sang phiên bản khác. Do đó, cần phải kiểm tra cách thực hiện mã tăng dung lượng trong GDK. Không có bất kỳ phương thức nào được xác định trước trong lớp ArrayList trả về dung lượng của danh sách mảng. Do đó, để hiểu rõ hơn, hãy sử dụng phương thức dung lượng () của lớp Vector. Logic của kích thước và dung lượng là như nhau trong lớp ArrayList và lớp Vector.

Chủ đề có liên quan

Cách sắp xếp ArrayList trong Java

Xem Thêm  Idealism (Stanford Encyclopedia of Philosophy) - unpack là gì

Sự khác biệt giữa Array và ArrayList

Khi nào sử dụng ArrayList và LinkedList trong Java

Sự khác biệt giữa ArrayList và LinkedList

Sự khác biệt giữa ArrayList và Vector

Cách so sánh hai ArrayList trong Java

Cách đảo ngược ArrayList trong Java

Khi nào sử dụng ArrayList và LinkedList trong Java

Cách đặt ArrayList Chỉ đọc

Sự khác biệt giữa độ dài của mảng và kích thước () của ArrayList trong Java

Cách đồng bộ hóa ArrayList trong Java

Cách chuyển đổi ArrayList thành Array và Array thành ArrayList trong java

Array so với ArrayList trong Java

Cách sắp xếp danh sách Java ArrayList theo thứ tự giảm dần

Cách xóa các bản sao khỏi ArrayList trong Java

Chủ đề tiếp theo

Java LinkedList


Xem thêm những thông tin liên quan đến chủ đề cách khai báo một danh sách mảng trong java

Java 27a. Giới thiệu về mảng trong lập trình Java | Phần 1 – Lập Trình Java Cơ Bản

alt

  • Tác giả: TITV
  • Ngày đăng: 2021-06-03
  • Đánh giá: 4 ⭐ ( 2954 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: ★ Khóa học miễn phí LậpTrìnhJava: https://bit.ly/2XSfJsO ★ LậpTrìnhC: https://bit.ly/3k7sA2B ★ Ủng hộ phát triển kênh: Momo,ZaloPay,ViettelPay: 0374568701 / STK: 109005606811 Vietinbank – CTK: Le Nhat Tung. ★ Link tải code: https://bit.ly/3AwCNeX
    ★ Khóa học Lập trình Java: bao gồm tất cả nội dung kiến thức về các công cụ lập trình IDE, Java Core, Các thuật toán, Lập trình hướng đối tượng Java, Cấu trúc dữ liệu Java, Xử lý tập tin trong Java, Lập trình giao diện AWT và Swing, Lập trình mạng Java, Sử dụng Java để tương tác với cơ sở dữ liệu, Lập trình xây dựng ứng dụng website trên nền tảng Java web, JSP và Servlet.
    Khóa học này cung cấp phần lớn kiến thức và kỹ năng về ngôn ngữ lập trình java và là bước đệm cho các lập trình viên muốn tìm hiểu tiếp ngôn ngữ lập trình Android.
    Khóa học này phù hợp cho các bạn mới bắt đầu học Lập trình Java, hoặc các bạn muốn ôn tập lại kiến thức một cách hệ thống và mạch lạc để chuẩn bị đi làm.
    ★ Bạn cũng có thể tìm thấy các khóa học về ngôn ngữ khác tại đây: https://www.youtube.com/c/TITVvn
    ★ Cácn bạn vui lòng đăng ký kênh (Subscribe) và chia sẻ video (Share) đến các bạn cùng lớp nhé.
    ★ Diễn đàn hỏi đáp: https://www.facebook.com/groups/titv.vn
    ★ Facebook: https://www.facebook.com/tung.lenhat
    ★ Website: http://titv.vn, http://titv.edu.vn
    =================================
    ✩ Hộp thư đóng góp ý kiến hoặc ý tưởng: lenhattung@gmail.com
    =================================
    © Bản quyền thuộc về TITV ☞ Vui lòng không đăng tải lại Video từ kênh này
    © Copyright by TITV Channel ☞ Do not Re-up

Khởi tạo mảng trong Java

  • Tác giả: hocjava.com
  • Đánh giá: 5 ⭐ ( 1487 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hôm nay chúng ta sẽ học cách khởi tạo một mảng trong Java, một mảng trong Java là một vùng chứa có thể chứa một số giá trị cố định có dùng

Ví dụ về tạo Mảng Đối tượng trong Java – Array of Objects in Java

  • Tác giả: niithanoi.edu.vn
  • Đánh giá: 5 ⭐ ( 9264 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Tìm hiểu về Mảng đối tượng là gì? Cách khai báo, tạo mảng đối tượng trong Java thông qua ví dụ cụ thể. Học Java trong 7 ngày

Mảng trong Java là gì? Cách khai báo mảng trong Java

  • Tác giả: laptrinhcanban.com
  • Đánh giá: 5 ⭐ ( 4506 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bạn có đang sử dụng mảng trong Java không? Mảng trong Java, hay còn gọi là kiểu mảng trong Java rất tiện lợi khi chúng ta cần xử lý một lượng lớn dữ liệu cùng loại. Hãy cùng tìm hiểu mảng trong Java l

Khai báo mảng trong java

  • Tác giả: viettuts.vn
  • Đánh giá: 4 ⭐ ( 7337 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Mảng trong java là một đối tượng chứa các phần tử có kiểu dữ liệu giống nhau. Vậy thì làm thế nào để khai báo mảng trong java? mảng một chiều và hai chiều?

Mảng một chiều trong ngôn ngữ java

  • Tác giả: nguyenvanhieu.vn
  • Đánh giá: 5 ⭐ ( 6398 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Mảng một chiều trong java – Bài này sẽ mình sẽ hướng dẫn các bạn cách khai báo cũng như cách dùng mảng một chiều trong ngôn ngữ java.

Java – Khai báo, sử dụng mảng

  • Tác giả: thuthuat.taimienphi.vn
  • Đánh giá: 5 ⭐ ( 5015 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Java Khai bao su dung mang, Java – Khai báo, sử dụng mảng

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

By ads_php