2017-12-19 1 views
-6

Ich habe eine Arraylist wie folgt aus:Java Arraylist von Wert

[{1 = R111, 2 = Rot, 3 = 50000}, {1 = R123, 2 = Blau, 3 = 50000}]

und ich möchte das Array nach Wert (R111 oder R123) entfernen.

wie das Array mit array.remove-Methode für Array wie das entfernen?

Ich habe versucht, this link , aber es funktioniert nicht für mein Problem.

+0

Mögliches Duplikat von https://stackoverflow.com/questions/112503/how-do-i-remove-objects-from-an-array-in-java – Stefan

+4

Mögliches Duplikat von [Wie entferne ich Objekte aus einem Array in Java?] (https://stackoverflow.com/questions/112503/how-do-i-remove-objects-from-an-array-in-java) – UserID0908

+0

5 Sekunden auf Google hätte Sie das gefunden: [Inline Link] (https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html#remove-java.lang.Object-) –

Antwort

1

Angenommen, Ihre ArrayList ist dies:

List<String[]> arrayList = new ArrayList<>(); 
arrayList.add(new String[]{"R111","Red","50000"}); 
arrayList.add(new String[]{"R123","Blue","50000"}); 

Sie können wie etwas tun:

for (Iterator<String[]> iterator = arrayList.iterator();iterator.hasNext();) { 
    String[] stringArray = iterator.next(); 
    if("R111".equals(stringArray[0])) { 
     iterator.remove(); 
    } 
} 

können Sie sicher ein Element entfernen iterator.remove() mit, während die ArrayList iterieren. Siehe auch The collection Interface.

Eine alternative kürzere Ansatz Streams Verwendung wäre:

Optional<String[]> array = arrayList.stream().filter(a -> "R111".equals(a[0])).findFirst(); 
array.ifPresent(strings -> arrayList.remove(strings)); 
1

Dank pieter, benutzte ich Iterator wie folgt aus:

for (Iterator<HashMap<String, String>> iterator = RegulerMenu.iterator(); iterator.hasNext();) { 
    HashMap<String, String> stringArray = iterator.next(); 
      if("R111".equals(stringArray.get("1"))) { 
       iterator.remove(); 
      } 
     } 

Es ist Arbeit jetzt, verymuch Thankyou.