Bestimmte Elemente eines Arrays löschen

In Java sind Arrays feste Listen aus denen man so einfach kein Element löschen kann. Daher habe ich mal eine kleine Funktion geschrieben, welche genau diese Aufgabe erfüllt.

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
 
public class ArrayRemoveUtil {
 
	static String[] arr = new String[] { "bla", "bla", "bla", "break", "bla", "bla", "break", "bla" };
 
	/**
	 * Deletes specified elements from an array (null-safe).
	 * 
	 * @param input
	 * @param deleteMe
	 * @return
	 */
	public static String[] removeElements(String[] input, String deleteMe) {
		if (input != null) {
			List<String> list = new ArrayList<String>(Arrays.asList(input));
			for (int i = 0; i < list.size(); i++) {
				if (list.get(i).equals(deleteMe)) {
					list.remove(i);
				}
			}
			return list.toArray(new String[0]);
		} else {
			return new String[0];
		}
	}
 
	public static void main(String[] args) {
		arr = ArrayRemoveUtil.removeElements(arr, "break");
		for (String s : arr) {
			System.out.println(s);
		}
	}
}

Wie man sehen kann, wird das Array in eine ArrayList gepackt. Danach wird über die Liste iteriert und jedes Element, welches gelöscht werden soll, wird entfernt. Danach wird die Liste wieder in ein Array konvertiert und zurückgegeben.

Die Methode ist mit eine Prüfung auf null ausgelegt, somit wird bei einer invaliden Eingabe (null) ein leeres Array zurückgeliefert.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu. Weitere Informationen zum Datenschutz...

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen