Elemente aus ArrayList in Array speichern

H

Hieu

Aktives Mitglied
Hallo Leute ich hätte mal eine ganz einfache Frage.Wie kann ich alle Elemente aus einer z.b String ArrayList in ein Array speichern,aber auch so das die Länge des Arrays der Länge der Arraylist entspricht.
 
Zuletzt bearbeitet:
T

TM69

Bekanntes Mitglied
Hallo Leute ich hätte mal eine ganz einfache Frage.Wie kann ich alle Elemente aus einer z.b String ArrayList in ein Array speichern,aber auch so das die Länge des Arrays der Länge der Arraylist entspricht.
Warum benutzt du nicht die .toArray - Funktion der ArrayList?
Also in der Form:
Code:
List<String> stringlist = new ArrayList<String>();
stringlist.add("String1");
stringlist.add("String2");
stringlist.add("String2");
 
String[] strings = stringlist.toArray();
 
Zuletzt bearbeitet:
H

Hieu

Aktives Mitglied
Warum benutzt du nicht die .toArray - Funktion der ArrayList?
Naja also ich hab es mal so probiert
Code:
ArrayList <String[]> row1 = new ArrayList<String[]>();
     String[][] row = row1.toArray();
aber da steht dann immer als Fehler cannot convert from from Object[] to String[][] oder habe ich einen Denkfehler? Habs auch schon gecastet aber da kommt dann wenn ich es ausführe eine Castexception
 
Zuletzt bearbeitet:
T

TM69

Bekanntes Mitglied
Naja also ich hab es mal so probiert
Code:
ArrayList <String[]> row1 = new ArrayList<String[]>();
     String[][] row = row1.toArray();
aber da steht dann immer als Fehler cannot convert from from Object[] to String[][] oder habe ich einen Denkfehler?
Ja hast du :D s. meinen Code String[] nicht String[][],weil ArrayList<String> ist String[] und nicht String[][]

um genau zu sein. Ein toArray() liefert eine Object[] zurück. Die Funktion verfügt aber über einen Übergabeparameter

public <T> T[] toArray(T[] a)

dem entsprechend muss es heissen:
Code:
String[] stringArray = list.toArray(new String[0]);

weil ohne Übergabe parameter wird es zu Object[] konvertiert.

BTW ist es korrekt, das es eine ArrayList<String[]> ist? Also ein String[][]?
 
Zuletzt bearbeitet:
H

Hieu

Aktives Mitglied
Ja hast du :D s. meinen Code String[] nicht String[][],weil ArrayList<String> ist String[] und nicht String[][]

um genau zu sein. Ein toArray() liefert eine Object[] zurück. Die Funktion verfügt aber über einen Übergabeparameter

public <T> T[] toArray(T[] a)

dem entsprechend muss es heissen:
Code:
String[] stringArray = list.toArray(new String[0]);

weil ohne Übergabe parameter wird es zu Object[] konvertiert.

BTW ist es korrekt, das es eine ArrayList<String[]> ist? Also ein String[][]?
Jap also am Ende möchte ich ein Array haben wo String arrays drinne sind. Wie würde der Code dann aussehen?
 
T

TM69

Bekanntes Mitglied
Alternativ bleibt dir natürlich immer noch durch z.B. Iteration eine eigene Copy-Funktion zu schreiben :D
 
I

insert2020

Aktives Mitglied
Viel Sinn macht es nicht... aber egal. Ich habe es einfach mal >decapsulate< genannt, das Wort gibt es wahrscheinlich gar nicht:
Java:
	public static String[][] decapsulate(List<List<String>> list) {
		return list.stream().map(l -> l.toArray(new String[0])).toArray(String[][]::new);
	}

	public static void main(String[] args) throws IOException {
		List<List<String>> table = List.of(List.of("A", "B"), List.of("3", "4"));
		System.out.println(Arrays.deepToString(decapsulate(table)));
	}

Das entfaltet einfach eine geschachtelte String-Liste in ein zweidimensionales Array mit Stream-Mitteln.
 
H

Hieu

Aktives Mitglied
Code:
package Klassen;

import java.io.IOException;
import java.util.ArrayList;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

public class GAEB {
 public static void main(String[] args)
 {


GUI aa = new GUI();


 }
 public static String[][] Tabellefüllen() {
    
     ArrayList<String[]> row1 = new ArrayList<String[]>();
     String[][] row = row1.toArray(new String[4][100]);
    
    
    
     DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    
    
     try {
        DocumentBuilder builder = factory.newDocumentBuilder();
        Document doc = builder.parse("Muster-Ausschreibungs-LV-ErdMauerBetonarbeiten-xml32.x83");
        NodeList BoQBodyList =   doc.getElementsByTagName("BoQBody");
        for (int i = 0; i < BoQBodyList.getLength();i++) {
           Node p = BoQBodyList.item(i);
           if (!p.getFirstChild().getLastChild().getFirstChild().getNodeName().equals("Itemlist")&& !p.getFirstChild().getNodeName().equals("Itemlist")) {

                Element BoQBody1 = (Element) p;
                NodeList BoQCtgyList = BoQBody1.getChildNodes();
                
                for(int j = 0; j < BoQCtgyList.getLength();j++) {
                    Node a = BoQCtgyList.item(j);
                    //BoQCtgy erste Ebene
                    Element BoQCtgy = (Element) a;   
                    //RNoPart erste Ebene
                    String RNoPart1 = BoQCtgy.getAttribute("RNoPart");
                    
                    String Span1 = BoQCtgy.getFirstChild().getFirstChild().getFirstChild().getTextContent();
                    System.out.println(RNoPart1+ "."+ Span1);
                    String[] a1 = {RNoPart1,"","",Span1};
                    row1.add(a1);
                    //Ende erste Ebene
                    NodeList BoQCtgy2List = BoQCtgy.getLastChild().getChildNodes();
                    for (int q = 0;q< BoQCtgy2List.getLength();q++) {
                        
                        Node c = BoQCtgy2List.item(q);
                        //BoQCtgy zweite Ebene
                        Element BoQCtgy2 = (Element) c;
                        String RNoPart2 = BoQCtgy2.getAttribute("RNoPart");
                        String Span2 = BoQCtgy2.getFirstChild().getFirstChild().getFirstChild().getTextContent();
                        
                        System.out.println(RNoPart1 +"."+ RNoPart2 + Span2);
                        String[] a2 = {(RNoPart1+"."+RNoPart2),"","",Span2};
                        row1.add(a2);
                        //Ende zweite Ebene
                    NodeList itemList =     BoQCtgy2.getLastChild().getFirstChild().getChildNodes();
                        for (int z = 0; z<itemList.getLength();z++) {
                            Node w = itemList.item(z);
                            //Item
                            Element item = (Element) w;
                        //RnoPart 3
                        String RNoPart3  = item.getAttribute("RNoPart");
                        NodeList QtyList = item.getElementsByTagName("Qty");
                        for (int jj = 0;jj< QtyList.getLength();jj++) {
                            Node kk = QtyList.item(jj);
                            Element Qty = (Element) kk;
                             //Qty Text
                            String QtyText = Qty.getTextContent();
                             NodeList qq = item.getElementsByTagName("QU");
                             for(int rr = 0; rr<qq.getLength();rr++) {
                                 Node aa = qq.item(rr);
                                 Element qu = (Element) aa;
                                 //QU Text
                                String QU =  qu.getTextContent();
                                String Span3 = item.getLastChild().getLastChild().getLastChild().getFirstChild().getFirstChild().getFirstChild().getFirstChild().getTextContent();
                                System.out.println(RNoPart1+"."+RNoPart2+"."+RNoPart3+",  "+QtyText+",  "+QU+",  "+Span3);
                                String[] a3 = {(RNoPart1+"."+RNoPart2+"."+RNoPart3),QtyText,QU,Span3};
                                //Ende dritte Ebene
                                row1.add(a3);
                                
                                
                                
                             }
                            
                        }
                        
                        
                    
                            
                        }
                        
                        
                    }
                    
                    
                            
                }
                
              


           }




       }



     } catch (ParserConfigurationException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (SAXException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return row;
}
}
also was wir halt probieren wollen ist wir bekommen quasi mehrere Variabeln mithilfe von for schleifen diese wollen wir halt für jeden Durchgang dieser for Schleife in ein Array speichern und dieses Array dann in ein weiteres Array aber das funktioniert mit Arrays nicht weil dann nur die letzte Variable in das Array gespeichert wird. deswegen wollen wir arraylists verwenden und diese dann in ein Array umwandeln. Das Arrayformat brauchen wir weil wir mit diesen Daten quasi ein JTabel füllen wollen
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Collections Array-Elemente in ArrayList kopieren ohne Schleife Allgemeine Java-Themen 7
E Elemente innerhalb einer ArrayList vergleichen Allgemeine Java-Themen 33
H ArrayList: Leere Elemente finden? Allgemeine Java-Themen 2
Streeber Probleme mit AWT-EventQueue: ArrayList Elemente hinzufügen Allgemeine Java-Themen 1
Z Elemente einer ArrayList von rechts wegnehmen Allgemeine Java-Themen 5
E ArrayList Anzahl der gleichen Elemente Allgemeine Java-Themen 4
M Elemente aus ArrayList, die in ArrayList ist Allgemeine Java-Themen 2
C Auf ArrayList Elemente referenzieren? Allgemeine Java-Themen 17
E Reihenfolge der Elemente einer ArrayList? Allgemeine Java-Themen 4
K Elemente im ArrayList vergleichen Allgemeine Java-Themen 9
J In einem Set doppelte Elemente erzeugen Allgemeine Java-Themen 4
GreenTeaYT Elemente eines 2Dim LinkedList von links nach rechts ausgeben? Allgemeine Java-Themen 0
K Neue Elemente in JList einfügen Allgemeine Java-Themen 2
S GUI - Drag & Drop Elemente Allgemeine Java-Themen 10
J Elemente zu einer List hinzufügen? Allgemeine Java-Themen 9
T OpenOffice Interface Elemente Ein/Ausblenden Allgemeine Java-Themen 5
S Aus einer Liste<Oberklasse> alle Elemente die eine bestimmte Unterklasse von Oberklasse haben filter Allgemeine Java-Themen 8
D prüfen, ob Enums bestimmte Elemente enthalten Allgemeine Java-Themen 3
Z Elemente einer HashTabelle gezielt ansprechen Allgemeine Java-Themen 10
S Alle Elemente von zwei Listen vergleichen Allgemeine Java-Themen 10
C Auf Oberflaechen Elemente zugreifen Allgemeine Java-Themen 8
H GUI: RectangleDrawer - zu viele Elemente im Vector für die paint-Methode Allgemeine Java-Themen 6
Iron Monkey Array-Elemente Allgemeine Java-Themen 9
S Array: Anzahl Elemente mit best. Wert zählen Allgemeine Java-Themen 4
R Elemente eines Vectors [Java 1.4] Allgemeine Java-Themen 5
B Liste auf gleiche Elemente untersuchen? Allgemeine Java-Themen 2
M Progblem bei Zugriff auf Array Elemente Allgemeine Java-Themen 4
der JoJo [TreeSelection] wie bekomme ich alle Elemente Allgemeine Java-Themen 4
G Alle Möglichkeiten n Elemente Anzuordnen. Allgemeine Java-Themen 13
M Elemente aus Liste entfernen? Allgemeine Java-Themen 7
Z Elemente in Vector nach Häufigkeit sortieren. Allgemeine Java-Themen 13
J Netbeans: wie auf grafische elemente zugreifen, andere Datei Allgemeine Java-Themen 2
B Nach Deserialisieren: Elemente des JFrames ohne Funktion Allgemeine Java-Themen 5
G Umkehrung der Array Elemente Allgemeine Java-Themen 2
F Elemente überdecken sich! Allgemeine Java-Themen 13
G anzahl "verwendeter" elemente eines arrays ermitte Allgemeine Java-Themen 2
S alle elemente aus hashmap lesen Allgemeine Java-Themen 8
T Elemente eines Arrays mischen Allgemeine Java-Themen 5
C Collection, LinkedList, Elemente Allgemeine Java-Themen 4
S Einzelne Elemente in einer Bild Datei Allgemeine Java-Themen 5
S ArrayList Design Allgemeine Java-Themen 4
S Array dynamisieren oder ArrayList verwenden? Allgemeine Java-Themen 17
L ArrayList mit String Arrays in ein Array umwandeln Allgemeine Java-Themen 1
M Person in einer Arraylist hinzugügen mit Prüfung ? Allgemeine Java-Themen 6
X Adjazenzliste ohne ArrayList Allgemeine Java-Themen 6
X Output von ArrayList Allgemeine Java-Themen 3
H Stream in ArrayList umwandeln Allgemeine Java-Themen 2
H Mehrere Datentypen in einer Arraylist speichern Allgemeine Java-Themen 9
H Arraylist mit anderer ArrayList überschreiben Allgemeine Java-Themen 17
M ArrayList sortieren?? Allgemeine Java-Themen 5
Curtis_MC Pointer mit ArrayList vergleichen Allgemeine Java-Themen 6
F ArrayList`s in Klassen mit Getter/Setter Allgemeine Java-Themen 8
W Array vs. ArrayList vs. HashMap Allgemeine Java-Themen 20
F Arraylist vollständig abspeichern und laden Allgemeine Java-Themen 1
R Arraylist in andere Klasse leiten und bearbeiten Allgemeine Java-Themen 10
D ArrayList Indexlänge ändern Allgemeine Java-Themen 2
K ursprüngliche ArrayList ändert sich bei Übergabe in Methode Allgemeine Java-Themen 18
N Mehrdimensionale ArrayList mischen Allgemeine Java-Themen 10
S JTable - mehrere ausgewählte Rows in ArrayList Allgemeine Java-Themen 5
M Date aus einer ArrayList<Date> holen ?? Allgemeine Java-Themen 5
M ArrayList Rückgabewerte aus einer Funktion Allgemeine Java-Themen 15
L CSV File lesen, in ArrayList speichern und ausgeben Allgemeine Java-Themen 3
M Was geschieht mit Java-Klasse, die aus ArrayList entfernt wird? Allgemeine Java-Themen 10
M Methoden Generische Methode für ArrayList Allgemeine Java-Themen 7
T Collections ArrayList Sortieren Allgemeine Java-Themen 4
P GUI: ArrayList anzeigen funktioniert nicht Allgemeine Java-Themen 5
GreenTeaYT Verständnisprobleme zur Arraylist Allgemeine Java-Themen 1
T Methoden Methode zum durchsuchen einer ArrayList Allgemeine Java-Themen 8
K ArrayList sortieren Allgemeine Java-Themen 16
A Bestimmte Inhalte aus ArrayList 1 in ArrayList 2 kopieren Allgemeine Java-Themen 6
S Mehrdimensionales ArrayList ins HashSet Allgemeine Java-Themen 10
C ArrayList Allgemeine Java-Themen 8
F Methoden Arraylist weiterverwenden nach methoden Aufruf Allgemeine Java-Themen 2
Z NullPointerException beim Schreiben einer ArrayList in eine Datei Allgemeine Java-Themen 6
L Von ArrayList abgeleitete Klasse nur mit bestimmten Objekten füllen Allgemeine Java-Themen 1
K Array in ArrayList Allgemeine Java-Themen 16
Paul15 2D Arraylist in Jtable Allgemeine Java-Themen 1
Paul15 Arraylist 2D Allgemeine Java-Themen 8
B ArrayList in ein Objekt legen Allgemeine Java-Themen 1
N Datentypen ArrayList vs TreeMap Allgemeine Java-Themen 6
F ArrayList Allgemeine Java-Themen 11
X ArrayList will nicht so wie ich will. Hilfe Allgemeine Java-Themen 8
N ArrayList in eigenem Object nicht richtig serialisierbar Allgemeine Java-Themen 14
M ArrayList mit verschiedenen Datentypen in String konvertieren Allgemeine Java-Themen 10
W Arraylist Text Suchen und Datei löschen Allgemeine Java-Themen 5
R ArrayList und HashMap Allgemeine Java-Themen 7
T ArrayList zeilenumbruch entfernen Allgemeine Java-Themen 13
D Arraylist/For Schleife/Scanner Allgemeine Java-Themen 30
Doopy ArrayList plötzlich leer Allgemeine Java-Themen 2
D Arraylist eigener Klasse an iReport übergeben Allgemeine Java-Themen 7
L ArrayList Inhaltstyp. Allgemeine Java-Themen 5
Z Klassen ArrayList selbst machen Allgemeine Java-Themen 5
J Arraylist speichern und laden? Allgemeine Java-Themen 5
C Generics Objekt in ArrayList Allgemeine Java-Themen 2
D ArrayList index auf gültigkeit prüfen Allgemeine Java-Themen 12
M ArrayList<String> Frage Allgemeine Java-Themen 7
O ArrayList kaputt?! Allgemeine Java-Themen 5
M ArrayList<Foo> in ein Foo[] konvertieren? Allgemeine Java-Themen 8
Bananabert Abstract ArrayList Allgemeine Java-Themen 4
O ArrayList - Serialisierungs-Problem Allgemeine Java-Themen 11

Ähnliche Java Themen

Anzeige

Neue Themen


Oben