Обход списка (ArrayList) в Java - PullRequest
1 голос
/ 19 марта 2011

пример, предположим, у меня есть один список, который содержит 45 элементов, из которого мне нужно создать наборы списков, которые содержат 10 элементов, если основной список имеет 45 элементов, тогда он будет вмещать 4 набора из 10 элементов и 1 для 5 элементов итак, я получу 5 списков. Итак, после создания списков мне нужно вызвать одну функцию. эта функция будет вызываться 5 раз.

1 set call() 2 set call() 3 set call()<br> 4 set call()<br> 5 set call()<br>

может кто-нибудь предоставить решение ..

Спасибо заранее Винод

Ответы [ 3 ]

2 голосов
/ 19 марта 2011

Опирайтесь на ответ Дипака:

Если у вас есть List<?> list и вы хотите вызвать функцию call с кусками размера 10, вы можете использовать следующий код:

for (int idx = 0; idx < list.size(); idx += 10) {
    List<?> subList = list.subList(idx, Math.min(list.size(), idx + 10));
    call(subList);
}
1 голос
/ 19 марта 2011

Гуава имеет только метод для вас:

Iterables.partition(Iterable<E>, size)

Пример использования:

List<String> list = // initialize List
for(List<String> subList : Iterables.partition(list, 10)){
    // do something with the list
}
1 голос
/ 19 марта 2011

Функция list.subList () в java должна сделать свое дело

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...