7

私はポジョのリストを持っています。この pojo のリストを、各サブリストのサイズが 10 以下のリストのリストに変換するには。たとえば、サイズ 13 の List は 2 つの要素を持つ List に変換されます。最初の要素は 10 項目のリストで、2 番目の要素は 3 つの項目のリストです。

したがって、データ構造はList<List<pojo>>

このリストのリストを作成するには:

List<List<pojo>> pojoList
counter = 0;
initialise new tempList
iterate list
add current pojo to temp list
if counter = 10 then add tempList to pojoList
reset counter and tempList and continue until list is iterated

代替ソリューションはありますか?

4

3 に答える 3

4

Guava のLists.partition()を考えてみましょう。

于 2013-01-31T18:21:41.930 に答える
1

サブリストを使用

List<Pojo> originalList.... //your list of POJOs  
List<List<Pojo>> pojoList = new ArrayList<List<Pojo>>(originalList/10 + 1);  
for(int i = 0; i < originalList.size(); i+=10){  
    if(i + 10 > originalList.size()){  
         pojoList.add(originalList.subList(i, originalList.size()));
    }
    else{
         pojoList.add(originalList.subList(i, i + 10));  
    }  
}
于 2013-01-31T18:21:10.230 に答える
0

おそらく使用できますsubList

それでも繰り返す必要がありますが、作成する必要はありませんtempList

于 2013-01-31T18:19:22.047 に答える