繁体   English   中英

在数组列表中循环

[英]Loop in arraylist

这是我的ArrayList

{10, 20, 30,40, 50, 60, 70, 80, 90, 100....1000}

我想在单击按钮时循环我的结果。

我想要第一个Button的点击中的前 5 个结果。

然后同样自动下5个结果。

有什么办法可以做到吗?

for(int i=0 ;i<5; i++) {
   list = array.getJSONObject(i);
   fr.add(list.get("contact"));
 }

问题是我只得到前 5 个而不是下一个结果。

谢谢你的帮助。

如果您想在每次从索引 a 到索引 b 调用方法时删除数组列表中的前 N ​​个项目,

每次按下该按钮时ArrayList.removeRange(int fromIndex, int toIndex)您都可以使用ArrayList.removeRange(int fromIndex, int toIndex) (但不要重复此操作)

或轻松使用ArrayList.subList(start, end).clear(); 为同样的任务!

从此列表中删除其索引介于 fromIndex(包含)和 toIndex(不包含)之间的所有元素。 将任何后续元素向左移动(减少它们的索引)。 此调用通过 (toIndex - fromIndex) 元素缩短列表。 (如果 toIndex==fromIndex,则此操作无效。)

阅读文档 > http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html#removeRange%28int,%20int%29

例子 :

public void removeFistNItemsFromList(){

    for(int i=0 ;i<n; i++) {
     // add your items or do what ever you want!
    }
    myArray.subList(0, 4).clear(); // here from 0 to 4th index items will be removed and  list will be updated!
    System.out.println("MyArrayListNow:"+myArray);
}

每次点击后输出:

在此处输入图片说明

好吧,你总是试图阅读前 5 个元素,因此问题。 您已阅读并从数组列表中删除元素的一种选择。 但是更好的方法是记录鼠标点击次数,在这种情况下,这是一个经典的分页问题,​​您可以获取接下来的 5 个元素,并且不会丢失 arraylist 中的数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM