Menghapus Elemen dari Array di Java

1. Ikhtisar

Dalam tutorial singkat ini, kita akan belajar tentang berbagai cara untuk menghapus elemen dari array di Java menggunakan pustaka Apache Commons Lang.

2. Maven

Mari tambahkan ketergantungan commons-lang3 ke file pom.xml proyek kita :

 org.apache.commons commons-lang3 3.9 

3. Menghapus Elemen

Sebelum kita memulai, mari kita lihat apa yang terjadi ketika kita menghapus elemen dari array tanpa menggunakan kelas ArrayUtils dari perpustakaan Apache Commons Lang.

Diberikan array di bawah ini, mari kita hapus sebuah elemen pada indeks 2 :

Cara sederhana untuk melakukan ini adalah dengan mengganti nilai yang disimpan di indeks 2 dengan nilai yang disimpan di indeks 3 hingga kita mencapai akhir larik:

Perhatikan bahwa dengan menghapus elemen dengan cara di atas, ukuran array akan tetap sama dan nilai yang disimpan pada indeks terakhir akan kosong. Karena array memiliki ukuran memori tetap yang dialokasikan selama inisialisasi , menghapus elemen tidak menyesuaikan ukuran array.

Sekarang mari kita lihat representasi array saat menghapus elemen menggunakan metode remove dari kelas ArrayUtils dari Apache Commons Lang:

Seperti yang bisa kita lihat, ukuran array di sini disesuaikan menjadi 5 setelah elemen dihapus. The menghapus metode menciptakan merek array baru dan salinan semua nilai kecuali untuk nilai yang dihapus.

Kelas ArrayUtils menyediakan dua cara untuk menghapus elemen dari array. Mari kita lihat ini selanjutnya.

4. Menggunakan Indeks sebagai Input

Cara pertama kita menghapus elemen adalah dengan indeksnya dengan ArrayUtils # remove :

public int[] removeAnElementWithAGivenIndex(int[] array, int index) { return ArrayUtils.remove(array, index); }

Variasi lain adalah metode removeAll , yang dapat kita gunakan untuk menghapus beberapa elemen dari array, dengan indeksnya:

public int[] removeAllElementsWithGivenIndices(int[] array, int... indices) { return ArrayUtils.removeAll(array, indices); }

5. Menggunakan Elemen sebagai Input

Atau, katakanlah kita tidak tahu indeks dari apa yang kita hapus. Dalam hal ini, kami dapat menyediakan elemen untuk dihapus menggunakan ArrayUtils # removeElement :

public int[] removeFirstOccurrenceOfGivenElement(int[] array, int element) { return ArrayUtils.removeElement(array, element); }

Berikut variasi lain yang berguna dari metode ini ArrayUtils # removeElements , jika ada lebih dari satu elemen yang ingin kami hapus:

public int[] removeAllGivenElements(int[] array, int... elements) { return ArrayUtils.removeElements(array, elements); }

Terkadang, kami ingin menghapus semua kemunculan elemen tertentu. Kita bisa melakukannya dengan menggunakan ArrayUtils # removeAllOccurences :

public int[] removeAllOccurrencesOfAGivenElement(int[] array, int element) { return ArrayUtils.removeAllOccurences(array, element); }

6. Kesimpulan

Pada artikel ini, kami melihat berbagai cara untuk menghapus elemen / elemen dari array menggunakan pustaka Apache Commons Lang.

Untuk mempelajari lebih lanjut tentang kasus edge, silakan lihat kode sumber untuk tutorial ini dan pengujian unit relevan yang tersedia di GitHub.