daten in bestehenden array hinzufügen

Status
Nicht offen für weitere Antworten.

kognitio

Aktives Mitglied
Hallo zusammen,
ich möchte gerne Daten an einen bestehenden Array hinzufügen. In etwa stelle ich mir das so vor:
Ich habe einen Array mit einer größe von 10. Nun möchte ich in den bereits gefüllten Array 3 weitere Daten hinzufügen.
Wie kann ich die Größe des alten Array überschreiben?
und die nächste Frage ist, wenn ich die Daten nun nicht an den Dchluss, sondern z.B. an die Stelle 2, 5 und 8 einfügen möchte und damit die bereits existierenden Daten nach hinten "rutschen" lassen, wie kann man das machen? Geht das überhaupt?
Vielleicht kann man auch eine andere Datenstruktur als einen Array verwenden, jedoch arbeite ich mit einem 3-Dimensionalen Array. Also, wenn eine andere Datenstruktur, dann sollte diese auch mehrer Daten "nebeneinander" aufnehmen können.
(Ich hoffe, ich habe es verständlich beschrieben…)
vielen Dank für die Hilfe,
Stephan
 
Nimm eine Klasse die das List oder Collection Interface implementiert. LinkedList, ArrayList, Hashset,...
 
kognitio hat gesagt.:
..jedoch arbeite ich mit einem 3-Dimensionalen Array.
Also, wenn eine andere Datenstruktur, dann sollte diese auch mehrer Daten "nebeneinander" aufnehmen können...
z.B. eine ArrayList von ArrayListen von ArrayListen
 
Du musst allerdings abwägen. Ist dir schneller wahlfreier Zugriff wichtig, ist die ArrayList das richtige.
Für schnelles hinzufügen oder entfernen von Elementen an beliebiger Stelle ist jedoch die LinkedList schneller.
 
danke euch beide, für die schnelle antwort, aber, wie soll ich mir eine ArrayList von ArrayListen von ArrayListen vorstellen, bzw, wie sollen diese verschachtelt werden?
 
Code:
List<ArrayList<ArrayList<ArrayList<WhatEver>>> list = new ArrayList<ArrayList<ArrayList<WhatEver>>>();
OMG, wie hässlich ist das denn? :lol:
Und dann mit weiteren ArrayList Elementen füllen.
 
Etwas simpler geht's auch so:
Code:
package basics;
/*
 * ArrayList3D_Demo.java
 */
import java.util.*;
public class ArrayList3D_Demo {
    private List<List> list3D;
    public ArrayList3D_Demo() {
        createList3D();
        System.out.println(list3D);
    }
    private void createList3D(){
        List<List> list_a;
        List<String> list_b;
        list3D = new ArrayList<List>();
        for (int i = 0; i < 2; i++) {
            list_a = new ArrayList<List>();
            for (int j = 0; j < 3; j++) {
                list_b = new ArrayList<String>();
                for (int k = 0; k < 4; k++) {
                    list_b.add(i+"-"+j+"-"+k);
                }
                list_a.add(list_b);
            }
            list3D.add(list_a);
        }
    }
    public static void main(String[] args) {new ArrayList3D_Demo();}
}
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben