簡體   English   中英

將arraylist轉換為3個字符串部分

[英]part arraylist to 3 strings part

我正在嘗試將大小為3n arrayList拆分為3個部分(每個大小為n),
但是我只是第一個。 我該如何解決?

[1,2,3,4,5,6,7,8,9]  ==> [1,2,3][4,5,6][7,8,9]

感謝您的幫助。

List<RootCreator> mainSublist = new ArrayList<RootCreator>();
int number = mainList.size()/3;
for(int i= 0 ; i < mainList.size()/3; i++){
    int index = i*3 ;           
    List<RootCreator> sublist =  mainList.subList(0, index);
    mainSublist.addAll(sublist);
}
    List<RootCreator> mainSublist = mainList.subList(0, mainList.size() / 3);

您可以像這樣使用subList(int fromIndex,int toIndex) -

static <T> List<List<T>> split(List<T> list, int n) {

    List<List<T>> parts = new ArrayList<List<T>>();
    int size = list.size();

    for (int index = 0; index < size; index += n) {
        parts.add(new ArrayList<T>(
            list.subList(index, Math.min(size, index + n)))
        );
    }
    return parts;
}

主要問題:您始終使用第一個參數0調用mainList.subList()。

    List<RootCreator> mainSublist = new ArrayList<RootCreator>();
    int number = mainList.size()/3;
    int first = 0;
    for(; first < mainList.size() - number; first+=number){
        mainSublist.addAll(mainList.subList(first, first + number));
    }
    mainSublist.addAll(mainList.subList(first));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM