Elem eltávolítása egy Java tömbből

1. Áttekintés

Ebben a gyors bemutatóban megismerhetjük a különböző módjainkat távolítson el egy elemet egy Java tömbből az Apache Commons Lang könyvtár használatával.

2. Maven

Tegyük hozzá a commons-lang3 függőség a projektünktől pom.xml fájl:

 org.apache.commons commons-lang3 3.9 

3. Elem eltávolítása

Mielőtt belekezdenénk, nézzük meg, mi történik, ha egy elemet eltávolítunk egy tömbből anélkül, hogy a ArrayUtils osztály az Apache Commons Lang könyvtárból.

Az alábbi tömbre való tekintettel távolítsunk el egy elemet a index 2:

Ennek egyszerű módja a (z) címen tárolt érték cseréje index 2 címen tárolt értékkel index 3 amíg el nem érjük a tömb végét:

Vegye figyelembe, hogy az elem fenti módon történő eltávolításával a tömb mérete változatlan marad és az utolsó indexen tárolt érték üres lenne. Mivel a tömböknek van egy az inicializálás során kiosztott fix memória méret, egy elem eltávolítása nem módosítja a tömb méretét.

Most nézzük meg a tömb ábrázolását, amikor eltávolítunk egy elemet a eltávolítani módszer től ArrayUtils osztály Apache Commons Lang-tól:

Mint láthatjuk, az itt található tömb méretét 5-re állítják az elem eltávolítása után. A eltávolítani A módszer teljesen új tömböt hoz létre, és az összes értéket lemásolja, kivéve az eltávolított értéket.

A ArrayUtils osztály kétféle módon távolíthat el egy elemet egy tömbből. Most nézzük meg ezeket.

4. Az Index használata bemenetként

Az elem eltávolításának első módja az indexe a ArrayUtils # eltávolítás:

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

Egy másik variáció a összes eltávolítása módszer, amelyet több elem eltávolítására használhatunk egy tömbből, figyelembe véve az indexüket:

public int [] removeAllElementsWithGivenIndices (int [] tömb, int ... indexek) {return ArrayUtils.removeAll (tömb, indexek); }

5. Az Element használata bemenetként

Vagy tegyük fel, hogy nem tudjuk az indexet, amit eltávolítunk. Ebben az esetben megadhatjuk az elemet az eltávolításhoz ArrayUtils # removeElement:

public int [] removeFirstOccurrenceOfGivenElement (int [] tömb, int elem) {return ArrayUtils.removeElement (tömb, elem); }

A módszer egy másik hasznos változata ArrayUtils # removeElements, abban az esetben, ha egynél több elemet szeretnénk eltávolítani:

public int [] removeAllGivenElements (int [] tömb, int ... elemek) {return ArrayUtils.removeElements (tömb, elemek); }

Néha el akarjuk távolítani az adott elem összes előfordulását. Megtehetjük a használatával ArrayUtils # removeAllOccurences:

public int [] removeAllOccurrencesOfAGivenElement (int [] tömb, int elem) {return ArrayUtils.removeAllOccurences (tömb, elem); }

6. Következtetés

Ebben a cikkben megvizsgáltuk az elem / elemek tömbből való eltávolításának különféle módjait az Apache Commons Lang könyvtár segítségével.

Ha többet szeretne megtudni az éles esetekről, olvassa el az oktatóanyag forráskódját és a GitHubon elérhető megfelelő egységteszteket.


$config[zx-auto] not found$config[zx-overlay] not found