• ベストアンサー

配列の値の削除について

JSP間でデータの受け渡しの際に、配列の要素で0以外の値だけを受け渡したいと考えています。 例えば、 for (int i = 0; i < list.size(); i++) {  in[i] = ((Integer)list.get(i)).intValue(); } で、inの中の0の要素を削除というようなことをして、session.setAttributeで送りたいと考えているのですが、 よく解らず、困っています。 アドバイス頂けたら幸いです。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

すみません。先程の者です。 要素が数値の0ですね・・・ list→{0,1,0,3,0}を in→{1,3}でいいですか? ************************************************ for (int i = 0; i < list.size(); i++) { if ((Integer)list.get(i) == 0) {    list.remove(i); } } int[] in = new int[list.size()]; for (int i = 0; i < list.size(); i++) { in[i] = (Integer) list.get(i); } ************************************************ でお願いします。

brin
質問者

お礼

回答ありがとうございます。 無事解決することができました。

その他の回答 (2)

回答No.2

こんばんは。 listに、{10,20,30,40,50}と入っていたら、 inには、{20,30,40,50}にするといった感じですか? ************************************************** int[] in = new int[list.size() - 1]; for (int i = 0; i < list.size() - 1; i++) { in[i] = (Integer) list.get(i + 1); } ************************************************** これでいいと思います。

  • tomo316
  • ベストアンサー率35% (51/142)
回答No.1

こんな感じでいかがですか j=0; for (int i = 0; i < list.size(); i++) {  if (0 < ((Integer)list.get(i)).intValue()) {    in[j] = ((Integer)list.get(i)).intValue();   j++;  } }

brin
質問者

補足

回答ありがとうございます。 実際に試してみたのですが、うまくできませんでした。

関連するQ&A