kích thước của vectơ trống = 0 [Johnny, Ivy, Ricky] [Johnny, Ivy, Ricky, Johnny, Paul] kích thước của vectơ = 5 phần tử đầu tiên của vector = Johnny 0 3 kích thước của vectơ sau phương thức xóa = 0 Show Hãy để chúng tôi nghiên cứu một số khác biệt với sự giúp đỡ của Biểu đồ so sánh được hiển thị dưới đây. Biểu đồ so sánhCơ sở để so sánhLập danh sáchVectơCăn bảnLớp ArrayList không được đồng bộ hóa.Lớp Vector được đồng bộ hóa.Lớp kế thừaArrayList là một lớp Collection tiêu chuẩn.Vector là một lớp kế thừa, được thiết kế lại để hỗ trợ lớp bộ sưu tập.Tuyên bố lớplớp ArrayListlớp VectorTái phân bổKhi không được chỉ định, một ArrayList được tăng thêm một nửa kích thước của nó.Khi không được chỉ định, một vectơ được tăng lên gấp đôi kích thước của nó.Hiệu suấtVì ArrayList không được đồng bộ hóa, nó hoạt động nhanh hơn Vector.Khi Vector được đồng bộ hóa, nó hoạt động chậm hơn ArrayList.Bảng liệt kê / lặpArrayList sử dụng giao diện Iterator để duyệt qua các đối tượng được lưu trữ trong ArrayList.Vector sử dụng Enumutions cũng như giao diện Iterator để duyệt qua các đối tượng được lưu trữ trong vectơ. Định nghĩa của ArrayListArrayList thuộc danh sách các lớp bộ sưu tập tiêu chuẩn. Lớp ArrayList được định nghĩa bên trong gói java.util, nó mở rộng lớp AbstractList cũng là một lớp bộ sưu tập tiêu chuẩn và nó cũng thực hiện Danh sách, một giao diện được xác định trong Giao diện Bộ sưu tập. Trong Java, một mảng tiêu chuẩn luôn có độ dài cố định. Điều đó có nghĩa là một khi được tạo ra; nó không tự động tăng trưởng hoặc thu nhỏ kích thước. Vì vậy, bạn nên có kiến thức trước về độ dài của mảng bạn đang sử dụng. Nhưng, đôi khi có thể xảy ra rằng độ dài cần thiết được tiết lộ trong thời gian chạy vì vậy, để xử lý loại tình huống này java đã giới thiệu ArrayList. ArrayList là lớp được sử dụng để tạo động của một mảng chứa các tham chiếu đến các đối tượng. Mảng này có thể tăng kích thước theo yêu cầu. Khai báo lớp như sau: lớp ArrayList Ở đây, E chỉ định loại đối tượng mà một mảng sẽ giữ. Mảng được tạo có chiều dài thay đổi, và nó tăng và giảm kích thước khi các đối tượng được thêm hoặc xóa khỏi danh sách. Điều đó có nghĩa là ArrayList không được đồng bộ hóa, nhiều hơn một luồng có thể hoạt động trên mảng cùng một lúc. Ví dụ, nếu một luồng đang thêm một tham chiếu đối tượng vào mảng và một luồng khác sẽ xóa một tham chiếu đối tượng khỏi cùng một mảng cùng một lúc. Việc tạo ra một mảng động bằng cách sử dụng lớp ArrayList: ArrayList S1 = new ArrayList (); System.out.println ("Kích thước ban đầu của S1:" + S1.size ()); S1.add ("T"); S1.add ("C"); S1.add ("H"); S1.add (1, "E"); System.out.println ("Sau khi bổ sung S1 có chứa:" + S1); System.out.println ("Kích thước của S1 sau khi thêm:" + S1.size ()); S1.remove ("T"); S1.remove (2); System.out.println ("Sau khi xóa S1 có chứa:" + S1); System.out.println ("Kích thước của S1 sau khi xóa:" + S1.size ()); // Kích thước đầu ra của S1: 0 Sau khi bổ sung S1 chứa: [T, E, C, H]; Kích thước của S1 sau khi thêm: 4 Sau khi xóa S1 chứa: [E, H] Kích thước của S1 sau khi xóa: 2 Trong đoạn mã trên, bạn có thể thấy rằng; Tôi đã tạo ra một mảng các đối tượng của kiểu chuỗi. Tôi đã thêm một số đối tượng vào mảng S1 bằng phương thức add () và sau đó xóa một số đối tượng bằng phương thức remove (). Bạn có thể quan sát nếu bạn không chỉ định kích thước ban đầu của mảng thì nó sẽ có độ dài '0'. Như bạn có thể thấy mảng phát triển và thu nhỏ kích thước khi bạn thêm và xóa các phần tử. Định nghĩa của VectorVector là một lớp Legacy được tổ chức lại để hỗ trợ lớp bộ sưu tập trong hệ thống phân cấp Bộ sưu tập Khung. Lớp vectơ cũng được định nghĩa trong gói java.util, được mở rộng bởi lớp AbstractList và được giao diện List thực hiện. Lớp Vector được khai báo như sau: lớp Vector Ở đây, E định nghĩa loại đối tượng sẽ được lưu trữ trong một mảng. Một mảng được tạo bằng lớp Vector có độ dài thay đổi. Nó tăng gấp đôi kích thước của nó nếu mức tăng không được chỉ định. Hãy hiểu việc tạo ra mảng bằng Vector. Vector V = Vector mới (1, 1); V.addEuity ("Công nghệ"); V.addEuity ("Sự khác biệt"); System.out.println ("Dung lượng sau 2 lần thêm:" + V.capacity ()); V.addEuity ("Giữa"); V.addEuity ("vectơ"); System.out.println ("Dung lượng hiện tại:" + V.capacity ()); // Công suất đầu ra sau 2 lần thêm: 2 Công suất hiện tại: 4 Trong đoạn mã trên bạn có thể thấy điều đó, tôi đặc biệt đề cập đến kích thước và giá trị gia tăng trong hàm tạo của Vector tương ứng, trong khi khai báo mảng của các đối tượng chuỗi. Do đó, bạn có thể quan sát rằng khi giới hạn của mảng kết thúc, nó sẽ tăng theo giá trị được cung cấp cho hàm tạo trong khi khai báo. Sự khác biệt chính giữa ArrayList và vectơ
Điểm tương đồng:
Phần kết luận:Tôi kết luận bằng cách nói rằng việc sử dụng ArrayList tốt hơn so với sử dụng Vector vì nó hoạt động nhanh hơn và tốt hơn. Sự khác nhau giữa ArrayList và vector là gì?Khác nhau của ArrayList và VectorVector là synchronized. ArrayList là nhanh hơn vì nó là non-synchronized. Vector là chậm hơn ví nó là synchronized. Tức là, trong môi trường đa luồng, các thread giữ nó ở trong trạng thái runnable hoặc non-runnable cho đến khi thread hiện tại giải phóng đối tượng đó. Set trong Java là gì?Set trong Java Nó là một interface implements tập hợp trong toán học. Vì set được kế thừa từ Collection Framework nên nó bao gồm nhiều phương thức của interface này, cùng với đó là các tính năng cho phép giới hạn việc điền thêm các phần tử trùng lặp. Vector trong Java là gì?Java Vector là một loại mảng động và có thể tăng hoặc giảm kích thước. Sử dụng lớp tập hợp Vector , chúng ta có thể lưu trữ một nhóm các phần tử dưới dạng các đối tượng đơn giản và thao tác với chúng thông qua các phương thức khác nhau. Lớp Vector có sẵn trong gói java. ArrayList Java là gì?ArrayList trong Java là gì? ArrayList là một nền tảng tập hợp thu thập độ dài động trong Java và cũng lưu trữ các phần tử của cùng một loại nhưng ở đây chúng ta không cần đề cập tới kích thước trong thời điểm tạo nó như trường hợp trong mảng. |