Kann man String[] in einer ArrayList verwenden?

Status
Nicht offen für weitere Antworten.

zero-2-one

Mitglied
Hallo, wie der Titel schon sagt würde mich interessieren ob man folgendes machen kann:

List<String[]> l = new ArrayList<String[]>();

Der Compiler meckert hier zwar nicht, aber wenn ich versuche meine ArrayList später wieder auszulesen hab ich keine Ahnung wie ich wieder an die Elemente der String[] kommen kann. Ich habe folgendes bisher versucht aber das gibt immer die gleiche Ausgabe bei mir...

Code:
import java.util.*;

class meintest
{
  public static void main(String[] args)
  {
    List<String[]> l = new ArrayList<String[]>();
    String[] sl = new String[2];

    for(int i = 0; i < 10; i++)
    {
      sl[0] = i + ". Hallo";
      sl[1] = i + ". Welt";
      l.add(sl);
    }

    System.out.println(l.get(0)[0] + " und " + l.get(0)[1]);   //9. Hallo und 9. Welt
    System.out.println(l.get(1)[0] + " und " + l.get(1)[1]);   //9. Hallo und 9. Welt
    System.out.println(l.get(2)[0] + " und " + l.get(2)[1]);   //9. Hallo und 9. Welt
    System.out.println(l.get(3)[0] + " und " + l.get(3)[1]);   //9. Hallo und 9. Welt
    System.out.println(l.get(4)[0] + " und " + l.get(4)[1]);   //9. Hallo und 9. Welt
    System.out.println(l.get(5)[0] + " und " + l.get(5)[1]);   //9. Hallo und 9. Welt
    System.out.println(l.get(6)[0] + " und " + l.get(6)[1]);   //9. Hallo und 9. Welt
    System.out.println(l.get(7)[0] + " und " + l.get(7)[1]);   //9. Hallo und 9. Welt
    System.out.println(l.get(8)[0] + " und " + l.get(8)[1]);   //9. Hallo und 9. Welt
    System.out.println(l.get(9)[0] + " und " + l.get(9)[1]);   //9. Hallo und 9. Welt
  }
}

Wie müsste ich das den richtig aufrufen um "1. Hallo...", "2. Hallo..." ... zu erhalten?

Alex
 
Java:
import java.util.*;

class meintest
{
  public static void main(String[] args)
  {
    List<String[]> l = new ArrayList<String[]>();
   

    for(int i = 1; i < 11; i++)
    {
 String[] sl = new String[2];
      sl[0] = i + ". Hallo";
      sl[1] = i + ". Welt";
      l.add(sl);
    }

    System.out.println(l.get(0)[0] + " und " + l.get(0)[1]);  
    System.out.println(l.get(1)[0] + " und " + l.get(1)[1]);   
    System.out.println(l.get(2)[0] + " und " + l.get(2)[1]);   
    System.out.println(l.get(3)[0] + " und " + l.get(3)[1]);  
    System.out.println(l.get(4)[0] + " und " + l.get(4)[1]);   
    System.out.println(l.get(5)[0] + " und " + l.get(5)[1]);  
    System.out.println(l.get(6)[0] + " und " + l.get(6)[1]);   
    System.out.println(l.get(7)[0] + " und " + l.get(7)[1]);   
    System.out.println(l.get(8)[0] + " und " + l.get(8)[1]);  
    System.out.println(l.get(9)[0] + " und " + l.get(9)[1]);   
  }
}

So müsste es gehen.
In deinem Fall überschreibst du ja immer das gleiche Array und hast dann 10 mal das gleiche Array in deiner Liste.
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben