假设我有一个自定义课程:
public class CustomClass {
private String name;
private String data;
public CustomClass(String name, String data) {
this.name = name;
this.data = data;
}
}
我也有一个自定义类对象的列表:
CustomClass[] list = new CustomClass[] {
new CustomClass("Item 1", "data"),
new CustomClass("Item 2", "data"),
new CustomClass("Item 3", "data"),
new CustomClass("Item 4", "data"),
new CustomClass("Item 5", "data"),
};
如何创建一个迭代器(或更确切地说,生成器)来遍历列表K次(K> list.length),每次都给我下一个元素?
我更喜欢“内联”解决方案(不创建任何新类)。
假设我需要依次获取CustomClass列表项K = 7次。解决方案应根据以下CustomClass对象检索我:
项目1
项目2
项目3
项目4
项目5
项目1
项目2
最佳答案
尝试使用索引模数组长度
for(int i=0;i<K;i++){
list[i%list.length]; //do sth with that, I just wrote what you get
}
因此,当第一个索引(在这里称为i)大于或等于列表长度时,它将“重置”它,因为模运算(%)返回整数除法后的剩余值
编辑:解决方案确实符合要求,无需实例化任何类
希望它有帮助:)