Apa itu Dynamic Array di Java?



Larik dinamis di Java adalah jenis larik dengan peningkatan besar untuk pengubahan ukuran otomatis. Satu-satunya batasan array adalah ukurannya tetap.

Array masuk adalah struktur data homogen yang diimplementasikan di Java sebagai objek. Array menyimpan satu atau lebih nilai dari tipe data tertentu dan menyediakan akses terindeks untuk menyimpan yang sama. Elemen tertentu dalam array diakses oleh indeksnya. Pada artikel ini, kita akan membahas Dynamic Array di Java dengan urutan sebagai berikut:

apa arti append di java

Pengantar Dynamic Array di Java

Array dinamis adalah jenis larik dengan peningkatan besar untuk pengubahan ukuran otomatis. Satu-satunya batasan array adalah ukurannya tetap. Ini berarti bahwa Anda hanya dapat menentukan jumlah elemen yang dapat ditampung oleh array Anda sebelumnya. Di sisi lain, array dinamis dapat meluas saat kita menambahkan lebih banyak elemen secara real-time. Oleh karena itu, pembuat kode tidak perlu menentukan ukuran array sebelumnya. Itu memang memiliki beberapa kekuatan lagi:





  • Pencarian cepat . Sama seperti array, saat mengambil elemen pada indeks tertentu, membutuhkan waktu O (1).



  • Ukuran variabel . Kita dapat memasukkan elemen sebanyak yang kita inginkan dan array dinamis akan berkembang untuk menampungnya.

  • Ramah cache . Mirip dengan array, array dinamis dapat meletakkan item di samping satu sama lain dalam memori, sehingga pemanfaatan cache menjadi efisien.



Ada beberapa kelemahan menggunakan array dinamis dalam kode kita. Meskipun, kami menggunakan array dinamis lebih dari apa pun di sebagian besar aplikasi, ada beberapa kasus di mana mereka tidak menjadi pilihan yang paling disukai karena keterbatasannya.

  • Kasus terburuk yang lambat muncul . Biasanya, saat penambahan elemen baru di akhir array dinamis, dibutuhkan O (1) pada satu instance. Namun, jika array dinamis tidak memiliki indeks lagi untuk item baru, maka perlu diperluas, yang membutuhkan O (n) pada satu waktu.

  • Memasukkan dan menghapus yang mahal. Mirip dengan array, elemen disimpan berdekatan satu sama lain. Jadi saat menambahkan atau menghapus item di tengah array itu membutuhkan mendorong elemen lain, yang mengambil O (n) pada satu waktu.

Diagram di bawah ini menunjukkan bagaimana array bekerja secara real-time dan menggambarkan bagaimana elemen ditumpuk. Ini juga menunjukkan bagaimana instruksi berubah untuk kasus rata-rata dan kasus terburuk dari fungsi array.

array - array dinamis di java - edureka

Ukuran vs. Kapasitas

Saat kita menginisialisasi larik dinamis, implementasi larik dinamis membuat larik ukuran tetap yang dipahami. Ukuran awal sesuai dengan implementasi. Sebagai contoh, mari kita buat array implementasi kita menggunakan 10 indeks. Sekarang kami menambahkan empat item ke array dinamis kami. Sekarang, array dinamis kita memiliki panjang empat. Namun, array dasar kita memiliki panjang 10. Oleh karena itu, kita dapat mengatakan bahwa ukuran array dinamis adalah empat dan kapasitasnya adalah 10. Sebuah array dinamis menyimpan Indeks akhir tertentu untuk melacak titik akhir dari array dinamis dan titik awal. titik dari mana kapasitas ekstra dimulai.

Penggandaan Menambahkan

Mungkin ada kasus di mana kami mencoba menambahkan item ke larik di mana kapasitasnya sudah penuh. Karenanya, untuk membuat array dinamis ruangan secara otomatis membuat array baru, lebih besar dan mendasar. Biasanya, menjadi dua kali lebih besar untuk menangani tambahan baru, yang tidak diantisipasi sebelumnya. Karenanya, menyalin setiap item tidak memakan waktu. Setiap kali menambahkan item ke array dinamis kita secara otomatis membuat array dasar ukuran ganda, yang menambahkan tidak membutuhkan waktu.

Menghapus sebuah Elemen

Saat menghapus elemen dari larik, metode 'remove ()' default menghapus elemen dari akhir dan secara otomatis menyimpan nol pada indeks terakhir. Ini juga akan menghapus elemen pada indeks tertentu dengan memanggil metode removeAt (i) di mana 'I' adalah indeks. Metode removeAt (i) menggeser semua elemen kanan di sisi kiri dari indeks yang diberikan.

Mengubah Ukuran Array

Ketika array tidak memiliki data di sisi kanan dari array yang mengambil memori yang tidak perlu, metode srinkSize () membebaskan memori ekstra. Saat semua slot dipakai dan elemen tambahan ditambahkan, larik ukuran tetap yang mendasari harus meningkatkan ukuran. Pengubahan ukuran sebenarnya mahal, karena kita harus mengalokasikan array yang lebih besar dan menyalin semua elemen dari array yang telah Anda tumbuhkan sebelum akhirnya dapat menambahkan item baru.

Di bawah ini adalah contoh program dimana ukuran array menjadi penuh dan elemen baru disalin ke array ukuran ganda yang baru. Elemen yang merupakan elemen string yang disebut “Mahavir” merupakan tambahan dari larik ukuran 3 yang sudah penuh.

import java.util.ArrayList import java.util.Arrays import java.util.Scanner public class AddingItemsDynamically {public static void main (String args []) {Scanner sc = new Scanner (System.in) System.out.println (' Masukkan ukuran array :: ') int size = sc.nextInt () String myArray [] = new String [size] System.out.println (' Masukkan elemen dari array (Strings) :: ') untuk (int i = 0 i

Keluaran:

Dengan ini, kita sampai pada bagian akhir artikel Dynamic Array in Java. Saya harap Anda mendapat gambaran tentang cara bekerja dengan array dinamis.

Lihat oleh Edureka, perusahaan pembelajaran online tepercaya dengan jaringan lebih dari 250.000 pelajar yang puas dan tersebar di seluruh dunia. Kursus pelatihan dan sertifikasi Java J2EE dan SOA Edureka dirancang untuk siswa dan profesional yang ingin menjadi Pengembang Java. Kursus ini dirancang untuk memberi Anda permulaan dalam pemrograman Java dan melatih Anda untuk konsep Java inti dan lanjutan bersama dengan berbagai kerangka kerja Java seperti Hibernate & Spring.

Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar di blog 'Dynamic Array in Java' dan kami akan menghubungi Anda kembali secepatnya.