/ / [JAVA] arraylist iterátorov polí - java, arrays, arraylist, iterator, jtextarea

[JAVA] arraylist polí iterator - java, arrays, arraylist, iterator, jtextarea

ako názov hovorí, že som "zdvíha problém pri opakovaní arraylistu polí." Tu je moja definícia: public static ArrayList<JTextArea[]> ta; tu je, ako čítam hodnotu z nej:

Iterator<JTextArea[]> i = Interface.ta.iterator();
while(i.hasNext())
{
JTextArea[] t = (JTextArea[]) i.next();
ret += t[0].getText() + ", ";
}

Pole JTextArea je vždy pole štyrochprvky a v tomto momente si musím prečítať text prvej. Problém je jednoduchý, "next ()" metóda mi dáva každý objekt JTextArea, nie kompletné pole zo 4 JTextArea s.

Akýkoľvek spôsob, ako dostať Next () metóda vybrať všetky pole?

Vopred ďakujem

odpovede:

1 pre odpoveď č. 1

použitie For Each namiesto Iterator

for (JTextArea[] jTextAreaArray : ta) {
// Use jTextAreaArray to do your process.
}

Je to veľmi jednoduché použitie skôr než Iterator

Ak chcete získať jednotlivé objekty.

 for (JTextArea[] jTextAreaArray : ta) {
for(JTextArea jTextArea : jTextAreaArray ){
// Do your Process with Individual jTextArea.
}
}

0 pre odpoveď č. 2

Mali by ste byť schopní odkazovať t [1], t [2], t [3] pre ostatné 3 v poli t, takže vaše kódy by mali byť:

  ArrayList<JTextArea[]> ta=null;
// setup ta here;

String ret = "";
Iterator<JTextArea[]> i = ta.iterator();
while (i.hasNext()) {
JTextArea[] t = i.next();
ret += t[0].getText() + ", ";
ret += t[1].getText() + ", ";
ret += t[2].getText() + ", ";
ret += t[3].getText() + ", ";
// or
for (int x=0; x<t.length; x++) {
ret += t[x].getText() + ", ";
}
}