Αφαίρεση ενός στοιχείου από μια συστοιχία (Java)

Υπάρχει κάποιος γρήγορος (και όμορφος) τρόπος για να αφαιρέσετε ένα στοιχείο από έναν πίνακα στη Java;

Δεν μπορείτε να αφαιρέσετε ένα στοιχείο από τον βασικό πίνακα της Java. Ρίξτε μια ματιά στις διάφορες συλλογές και ArrayList αντί για αυτές.

Σχόλια (8)

Η καλύτερη λύση θα ήταν η χρήση μιας λίστας αντί για πίνακα εξαρχής.

List.remove(index)

Αν πρέπει να χρησιμοποιήσετε πίνακες, δύο κλήσεις στο System.arraycopy θα είναι πιθανότατα οι ταχύτερες.

Foo[] result = new Foo[source.length - 1];
System.arraycopy(source, 0, result, 0, index);
if (source.length != index) {
    System.arraycopy(source, index + 1, result, index, source.length - index - 1);
}

(Το Arrays.asList είναι επίσης ένας καλός υποψήφιος για εργασία με πίνακες, αλλά δεν φαίνεται να υποστηρίζει το remove).

Σχόλια (1)

Σίγουρα, δημιουργήστε έναν άλλο πίνακα :)

Σχόλια (0)