2016-12-21 5 views
0

JavaのリストList<List<String>>を記入しようとしていますが、要素を印刷すると何も表示されません。javaのリストのリスト

私のコード:

List<String> temp = new ArrayList<>(); 
for (int z = 0; z < c.POSList.get("V").size(); z++) { 
    temp.add(c.stemmer(c.POSList.get("V").get(z)).get(0)); 
    temp.addAll(c.ReturnListOFSynoums(c.stemmer(c.POSList.get("V").get(z)).get(0), "")); 
    System.out.println(temp); // there are elements ! 
    verbsMatrix.add(temp); 
    temp.clear(); 
} 

for (int s = 0; s < verbsMatrix.size(); s++) { 
    for (int r = 0; r < verbsMatrix.get(s).size(); r++) { 
     System.out.print(verbsMatrix.get(s).get(r) + " "); 
    } 
} 
+2

あなたは 'verbsMatrix'に何か追加されたと思いますか? –

+0

私の最初のコメントは、これはJavaのようには見えないということです...大文字のフィールド名、可変型の直接フィールドアクセス、forループを使用したループの収集...しかし、temp.clear()はおそらく問題です。 –

+0

@scotthunter .. verbsMatrix.add(temp); !! –

答えて

4

あなたはtempを毎回クリアしている、これはあなたがちょうどあなたが再初期化しないverbsMatrixに追加したのと同じインスタンスです。

forの中にtempと宣言してください。消去しないでください。

+0

私は以前にそれをやったことがありましたが、それはうまくいかなかったが、今はうまくいく:ss –