Как разбить список на части и не потерять последние записи - PullRequest
0 голосов
/ 04 февраля 2011

как я могу разделить список (например, 24 записи) на несколько частей (каждая из которых содержит не более 10 записей) и покрыть последние записи?

Что я сделал до сих пор:

 //init list
    List<Integer> list = new ArrayList<Integer>();
    for (int i = 0; i < 24; i++) {
        list.add(i);
    }

    List<Integer> splitted = new ArrayList<Integer>();
    for (int i = 0; i < list.size(); i++) {
        splitted.add(list.get(i));
        if(i != 0 && i % 10 == 0) {
            //print splitted list
            System.out.println(splitted);
            splitted.clear();
        }
    }

Это работает для записей 0-20, но записи 21,22,23 и 24 не появятся ни в одном списке. Как я могу это исправить? Потому что i % 10 == 0 не будет работать для них.

1 Ответ

1 голос
/ 04 февраля 2011

Это должно сработать, или по крайней мере, дать вам некоторое представление.Сначала я проверяю, закончен ли список или разделен, достигнуто значение 10. Затем проверьте, не равен ли я 0, и напечатайте разделенное.

for (int i = 0; i < list.size(); i++) {
    splitted.add(list.get(i));
    if(i==list.size()-1 || i%10==0) {
       if(i!=0){
          //print splitted list
           System.out.println(splitted);
           splitted.clear();
       }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...