我想以小批量遍历ArrayList。
例如,如果ArrayList大小为75,批大小为10,我希望它处理记录0-10,然后10-20,然后20-30,依此类推。
我试过这个,但没有成功:
int batchSize = 10;
int start = 0;
int end = batchSize;
for(int counter = start ; counter < end ; counter ++)
{
if (start > list.size())
{
System.out.println("breaking");
break;
}
System.out.println("counter " + counter);
start = start + batchSize;
end = end + batchSize;
}
int start = 0;
int end=updateBatchSize;
List finalList = null;
try {
while(end < sampleList.size()){
if(end==sampleList.size()){
break;
}
finalList = sampleList.subList(Math.max(0,start),Math.min(sampleList.size(),end));
start=Math.max(0,start+updateBatchSize);
end=Math.min(sampleList.size(),end+updateBatchSize);
}
您可以像从batch size和list size中提取余数一样查找count。
int batchSize = 10;
int start = 0;
int end = batchSize;
int count = list.size() / batchSize;
int remainder = list.size() % batchSize;
int counter = 0;
for(int i = 0 ; i < count ; i ++)
{
System.out.println("counter " + counter);
for(int counter = start ; counter < end ; counter ++)
{
//access array as a[counter]
}
start = start + batchSize;
end = end + batchSize;
}
if(remainder != 0)
{
end = end - batchSize + remainder;
for(int counter = start ; counter < end ; counter ++)
{
//access array as a[counter]
}
}
你需要的是:列表。来自Google Guava的分区(java.util.List,int)
例子:
final List<String> listToBatch = new ArrayList<>();
final List<List<String>> batch = Lists.partition(listToBatch, 10);
for (List<String> list : batch) {
// Add your code here
}
假设我有一个大小为[10]的数组,当该数组被填满时,我想实现一个FIFO结构,而不是它只是填满了,因此无法向数组中添加新的东西,并抛出旧的东西。 例如,如果我有一个包含汽车制造商的字符串数组,当我的数组中有10个制造商时,我希望删除最旧的条目,添加最新的条目,但要考虑kepping FIFO。我如何在这样的方法中实现它:
我试着解决这个数组列表问题,但没有成功 无论如何,在while循环中,我必须向ArrayList添加新的字符串项。 如果有一个重复的项目,应该有一个消息说重复的项目。 While循环将按单词结束中断
联机-节点1,节点2离线-节点3,节点4未知-节点5,节点6
所以我想看看有没有办法循环这些数组,看看哪一个与main函数中提供的{6,1,1,6,3,1,4,7,7,1}的数组匹配。
我有一个特殊的问题,当在数组中分配循环中的元素时,事情发生得很好。 当我移出循环并进行检查时,所有索引的相同数组值将设置为最后一个索引的数组值。下面是代码 当我打印的这基本上是在循环值显示正确.的时刻执行出来并检查"outside_loop"的值成为dataModelCollection[6]. getName()-这是最后一个索引的值.相同是、、的情况。 不知道我哪里错了。 无论它的价值在这里是
我试图设计一个购物车,读取美元数额,然后打印这些值回来。然而,我的时循环不会终止,我的数组列表存储了错误的值。 结果应该是这样的: 但这是我的输出: while 循环不会终止,而是返回到第一个提示:“请输入商品价格,或 -1 退出:” 程序不断将“-1”计为数组列表的一部分。“-1”值应该充当“否”并终止向 arrayList 添加更多元素,但在我的代码中,它被吸收到 arrayList 中。我尝