Xem bí quyết góp phần tử vào mảng Java tuyệt vời nhất 2024
Trong hướng dẫn này, chúng ta sẽ xem xét ngắn gọn các điểm tương đồng và khác lạ trong việc cấp phát bộ nhớ giữa các mảng Java và ArrayList tiêu chuẩn. Hơn nữa, chúng ta sẽ xem cách nối và chèn các phần tử trong một mảng và ArrayList
2. Mảng Java và ArrayList
Mảng Java là một cấu trúc dữ liệu cơ bản được tiếp tế bởi ngôn ngữ. Ngược lại, ArrayList là một đang chạy của giao diện List được hỗ trợ bởi một mảng và được hỗ trợ trong Java Collections Framework
2. 1. Truy cập và sửa đổi các phần tử
Chúng ta có thể truy cập và sửa đổi các phần tử mảng bằng bí quyết dùng ký hiệu dấu ngoặc vuông
System.out.println(anArray[1]);
anArray[1] = 4;
Mặt khác, ArrayList có một tập hợp các phương máyc để truy cập và sửa đổi các phần tử
int n = anArrayList.get(1);
anArrayList.set(1, 4);
2. 2. kích cỡ cố định phân tích khuôn khổ động
Cả mảng và ArrayList đều phân bổ bộ nhớ heap theo bí quyết tương tự, nhưng điểm khác lạ là mảng có khuôn khổ cố định, trong khi kích thước của ArrayList tăng động
Vì một mảng Java có khuôn khổ cố định, bên tôi cần hỗ trợ độ lớn trong khi khởi tạo nó. không thể tăng độ lớn của mảng sau khi nó đã được khởi tạo. Thay vào đó, chúng ta cần tạo một mảng mới có kích cỡ đã điều chỉnh và sao chép tất cả các phần tử từ mảng trước đó
ArrayList là một đang chạy mảng có thể thay đổi độ lớn của giao diện Danh sách – nghĩa là ArrayList lớn mạnh linh hoạt khi các phần tử được cung cấp nó. lúc số phần tử bây giờ (bao gồm cả phần tử mới được sản xuất ArrayList) lớn hơn kích cỡ tối đa của mảng bên dưới, thì ArrayList sẽ tăng khuôn khổ của mảng bên dưới
Chiến lược phát triển cho mảng bên dưới phụ thuộc vào việc đang chạy ArrayList. Tuy nhiên, vì kích cỡ của mảng bên dưới ko thể tăng lên một bí quyết linh hoạt, đề nghị một mảng mới được tạo và các phần tử mảng cũ được sao chép vào mảng mới
Hoạt động thêm có chi phí thời gian khấu hao ko đổi. nói giải pháp khác, việc thêm n phần tử vào ArrayList cần O(n) thời gian
2. 3. các cái phần tử
Một mảng có thể đựng các kiểu dữ liệu nguyên thủy cũng như ko nguyên thủy, tùy thuộc vào định nghĩa của mảng. Tuy nhiên, một ArrayList chỉ có thể đựng những kiểu dữ liệu ko nguyên thủy
lúc chúng ta chèn những phần tử có kiểu dữ liệu nguyên thủy vào một ArrayList, trình biên dịch Java sẽ tự động chuyển đổi kiểu dữ liệu nguyên thủy thành lớp bao bọc đối tượng tương ứng của nó
Bây giờ chúng ta hãy xem giải pháp nối và chèn những phần tử trong mảng Java và ArrayList
3. Nối thêm một phần tử
Như chúng ta đã thấy, mảng có khuôn khổ cố định
bởi thế, để nối thêm một phần tử, thứ nhất, chúng ta cần khai báo một mảng mới lớn hơn mảng cũ và sao chép những phần tử từ mảng cũ sang mảng mới tạo. Sau đó, chúng ta có thể nối thêm phần tử mới vào mảng vừa tạo này
Hãy xem giải pháp vận hành nó trong Java mà không sử dụng bất kỳ lớp tiện ích nào
public Integer[] addElementUsingPureJava(Integer[] srcArray, int elementToAdd) {
Integer[] destArray = new Integer[srcArray.length+1];
for(int i = 0; i < srcArray.length; i++) {
destArray[i] = srcArray[i];
}
destArray[destArray.length - 1] = elementToAdd;
return destArray;
}
ngoại trừ ra, lớp Arrays tạo buộc buộc đề nghị một phương lắp thêmc tiện ích copyOf(), hỗ trợ tạo một mảng mới có sự cân đối lớn hơn và sao chép tất cả những phần tử từ mảng cũ
int[] destArray = Arrays.copyOf(srcArray, srcArray.length + 1);
lúc chúng ta đã tạo một mảng mới, chúng ta có thể dễ dàng thêm phần tử mới vào mảng
destArray[destArray.length - 1] = elementToAdd;
Mặt khác, việc thêm một phần tử vào ArrayList khá dễ dàng
anArrayList.add(newElement);
4. Chèn một phần tử vào chỉ mục
Chèn thêm một phần tử vào một chỉ số cho trước mà không khiến cho cho mất đi những phần tử đã thêm trước đó chưa buộc buộc bắt buộc là một làm việc đơn kém chất lượngn trong mảng
Trước hết, giả dụ mảng đã chứa số phần tử bằng mang kích cỡ của nó, thì lần đầu chúng ta cần tạo một mảng mới có kích thước lớn hơn và sao chép những phần tử sang mảng mới
Hơn nữa, chúng ta cần dịch chuyển tất cả những phần tử tạo đề nghị sau chỉ mục đã chỉ định sang phải một vị trí
public static int[] insertAnElementAtAGivenIndex(final int[] srcArray, int index, int newElement) {
int[] destArray = new int[srcArray.length+1];
int j = 0;
for(int i = 0; i < destArray.length-1; i++) {
if(i == index) {
destArray[i] = newElement;
} else {
destArray[i] = srcArray[j];
j++;
}
}
return destArray;
}
Tuy nhiên, lớp ArrayUtils phân phối cho chúng ta một fakei pháp đơn kém chất lượngn hơn để chèn những phần tử vào một mảng
int[] destArray = ArrayUtils.insert(2, srcArray, 77);
Chúng ta phải chỉ định chỉ mục mà chúng ta muốn chèn giá trị, mảng nguồn và giá trị để chèn
Phương thiết bịc insert() trả về một mảng mới chứa số lượng phần tử lớn hơn, có phần tử mới ở chỉ mục đã chỉ định và tất cả những phần tử còn lại dịch chuyển một vị trí sang phải
Lưu ý rằng đối số cuối cùng của phương đồ vậtc insert() là một đối số biến, Bởi vậy chúng ta có thể chèn bất kỳ số lượng phần tử nào vào một mảng
Hãy dùng nó để chèn ba phần tử trong srcArray bắt đầu từ chỉ mục hai
________số 8
Và những phần tử còn lại sẽ được dịch chuyển ba vị trí sang phải
Hơn nữa, điều này có thể đạt được một bí quyết tầm thường đối mang ArrayList
anArrayList.add(index, newElement);
ArrayList dịch chuyển những phần tử và chèn phần tử vào vị trí sự đòi hỏi
5. Phần kết luận
Trong bài viết này, chúng ta đã xem xét mảng Java và ArrayList. Hơn nữa, bên tôi đã xem xét những điểm tương đồng và khác lạ giữa hai. Cuối cùng, chúng ta đã thấy giải pháp nối và chèn những phần tử trong một mảng và ArrayList
Bạn có thể thêm một phần tử vào một mảng không?
Bạn có thể thêm nhiều phần tử vào một mảng trong Java không?
Làm giải pháp nào để thêm những phần tử vào một mảng trong Java một phương pháp linh hoạt?
Bạn đang đọc bài viết: bí quyết góp phần tử vào mảng Java tuyệt vời nhất 2024
✅ Thâm niên trong nghề | ⭐Công ty dày dặn nghiệm trong ngành giặt từ 5 năm trở lên. |
✅ Nhân viên chuyên nghiệp | ⭐Đội ngũ nhân viên chuyên nghiệp, nhiệt tình có kinh nghiệm và kỹ năng trong giặt đồ. |
✅ Chi phí cạnh tranh | ⭐Chi phí giặt luôn cạnh tranh nhất thị trường và đảm bảo không có bất kỳ chi phí phát sinh nào. |
✅ Máy móc, thiết bị hiện đại | ⭐Chúng tôi đầu tư hệ thống máy móc, thiết bị hiện đại nhất để thực hiện dịch vụ nhanh chóng và hiệu quả nhất |
HỆ THỐNG CỬA HÀNG GIẶT LÀ CÔNG NGHIỆP PRO
- Điện thoại: 033.7886.117
- Website: Giatlacongnghieppro.com
- Facebook: https://www.facebook.com/xuonggiatlacongnghiep
- Tư vấn mở tiệm: Giặt là hà nội
- Tư dậy nghề: Học nghề và mở tiệm
- Địa chỉ:Ngõ 199/2 Đường Phúc Lợi, Phúc Lợi, Long Biên, Hà Nội
Cở sở 01: Ngõ 199/2 Đường Phúc Lợi, Phúc Lợi, Long Biên, Hà Nội Cơ Sở 02: Số 200, Trường Chinh, Quận Thanh Xuân, Hà Nội Cơ Sở 03: Số 2C Nguyên Hồng, Thành Công, Ba Đình, Hà Nội Cơ Sở 04: Số 277 Thanh Nhàn, Hai Bà Trưng, Hà Nội Cơ Sở 05: Số 387 Phúc Tân, Lý Thái Tổ, Hoàn Kiếm, Hà Nội Cơ Sở 06: Số 4 Hàng Mành, Hàng Gai, Hoàn Kiếm, Hà Nội | Cơ Sở 07: Số 126, Thượng Đình, Khương Trung, Thanh Xuân, Hà Nội Cơ Sở 08: Số 261 Nguyễn Khang, Yên Hoà, Cầu Giấy, Hà Nội Cơ Sở 09: Số 68 Nguyễn Lương Bằng, Chợ Dừa, Đống Đa, Hà Nội Cơ Sở 10: Tầng 7, Plaschem 562 Nguyễn Văn Cừ, Long Biên, Hà Nội Cơ Sở 11: Số 72, Phố An Hòa, P. Mộ Lao, Hà Đông, Hà Nội Cơ Sở 12: Số 496, Thụy Khuê, Bưởi, Quận Tây Hồ, Hà Nội |