我有一个list,list的size假设为108,现在我想把list分成十个子list,子list的长度分别为
11,11,11,11,11,11,11,11,11,9
大家帮忙想想怎么解决!

解决方案 »

  1.   

    List是动态加载的 不固定size
    如果要分 那就是把目标元素分散到十个list中去就完了
    boolean java.util.List.add(E o)
      

  2.   

    你可以麻烦点啊
    从里面取出来放到相应的list中,然后再把各个list加到一个list里面啊
    List a1=new ArrayList();
    List a2=new ArrayLIst();
    ......
      

  3.   


    list1 = list.subList(0, 11);
    list2 = list.subList(11, 22);
    ....
      

  4.   

    List 有个方法...list.subList(0, 11);
    你在加个循环 和长度判断就可以了
      

  5.   

    [code=Java]import java.util.ArrayList;
    import java.util.List;class Test{
    public static void main(String[] args) {
    List list = new ArrayList();
    for (int i = 0; i < 108; i++) {
    list.add(""+i);
    }
    List[] result = split(list, 11);
    for (int i = 0; i < result.length; i++) {
    System.out.println(i+1 + "=" + result[i].size());
    }
    } public static List[] split(final List list, final int standardSize) {
    int listSize = list.size();
    int left = listSize % standardSize;
    int num = listSize / standardSize + (left == 0 ? 0 : 1);
    List[] result = new List[num];
    int i = 0;
    for (i = 0; i < num-1; i++) {
    result[i] = list.subList(i*standardSize, (i+1)*standardSize);
    }
    result[i] = list.subList(i*standardSize, list.size());

    return result;
    }
    }[/code]
      

  6.   

    import java.util.ArrayList;
    import java.util.List;class Test{
    public static void main(String[] args) {
    List list = new ArrayList();
    for (int i = 0; i < 108; i++) {
    list.add(""+i);
    }
    List[] result = split(list, 11);
    for (int i = 0; i < result.length; i++) {
    System.out.println(i+1 + "=" + result[i].size());
    }
    } public static List[] split(final List list, final int standardSize) {
    int listSize = list.size();
    if(listSize == 0) return new List[0];
    int left = listSize % standardSize;
    int num = listSize / standardSize + (left == 0 ? 0 : 1);
    List[] result = new List[num];
    int i = 0;
    for (i = 0; i < num-1; i++) {
    result[i] = list.subList(i*standardSize, (i+1)*standardSize);
    }
    result[i] = list.subList(i*standardSize, list.size());

    return result;
    }
    }