2016-05-26 2 views
-1

これは少し複雑でタイトルは誤解を招くかもしれませんが、私はそれを簡潔に書く方法はわかりません。Arraylistで空の奇数要素を検出する方法

私は2例で2分散一部の画像が.jspで表示しようとしています:

distribution of images

、私はデザイン上の理由から「しばらく」ループ、それを持っていることを行うには、このようにするには: order of images これを行うには、その私の情報(画像、タイトル、著者)をカプセル化する私のDTOsのArrayListがあります。

問題は3または5要素のArrayListがある場合に発生します。要素が1つしかない場合は、1つだけを検出して表示するのは簡単です。

これは私のコードです:

ArrayList<Vinilo> coleccionVinilos = (ArrayList<Vinilo>)request.getAttribute("coleccionVinilos"); 
request.removeAttribute("coleccionVinilos"); 
if (coleccionVinilos.size() >= 2) { 
    int i = 0; 
    while (i < 6 && coleccionVinilos.size() > i) { 
     if (coleccionVinilos.size() > i) { 
      Vinilo col = coleccionVinilos.get(4); 
     } else { 
      Vinilo col = coleccionVinilos.get(i); 
      Vinilo col2 = coleccionVinilos.get(i + 1); 
     } 
     i = i + 2; 
    } 
} else if (coleccionVinilos.size() == 1) { 
    Vinilo col = coleccionVinilos.get(0); 
} else{ 
    // 
} 

答えて

0

オーケー、質問を書きながら、私はので、私は、私はとにかくそれを共有したいと考え、これを修正しました。

これは、最終的な作業バージョン

ArrayList<Vinilo> coleccionVinilos = (ArrayList<Vinilo>)request.getAttribute("coleccionVinilos"); 
request.removeAttribute("coleccionVinilos"); 
if (coleccionVinilos.size() >= 2) { 
    int i = 0; 
    while (i < 6 && coleccionVinilos.size() > i) { 
     if (i < coleccionVinilos.size() && coleccionVinilos.size() < (i + 2)) { 
      Vinilo col = coleccionVinilos.get(i); 
     } else { 
      Vinilo col = coleccionVinilos.get(i); 
      Vinilo col2 = coleccionVinilos.get(i+1); 
     } 
     i = i + 2; 
    } 
} else if (coleccionVinilos.size() == 1) { 
    Vinilo col = coleccionVinilos.get(0); 
} else { 
    // 
} 
です
関連する問題