发布于2021-06-29 07:22 阅读(1155) 评论(0) 点赞(23) 收藏(0)
我想从 ArrayList 获取对象对,以便我可以在每个对象的元素之间执行计算。理想情况下,它应该迭代对象对。例如,在带有 {obj1, obj2, obj3, obj4} 的列表中,它应该遍历 {obj1,obj2}、{obj2,obj3} 和 {obj3,obj4}。
到目前为止我尝试过的内容如下。
public class Sum {
public ArrayList<Double> calculateSum(ArrayList<Iter> iter) {
ListIterator<Iter> it = iter.listIterator();
ArrayList<Double> sums = new ArrayList<>();
while (it.hasNext()) {
Iter it1 = it.next();
Iter it2;
if(it.hasNext()){
it2 = it.next();
} else { break; }
double sum = it1.getValue() + it2.getValue();
sums.add(sum);
}
return sums;
}
}
在这里,它只是迭代为 {obj1,obj2} 和 {obj3,obj4}。我怎样才能解决这个问题?
非常感谢所有帮助。谢谢!
一个非常正常的循环,除非你需要循环达list.size() - 1
,在去年之前,数组的元素。
public ArrayList<Double> calculateSum(ArrayList<Iter> list) {
ArrayList<Double> sums = new ArrayList<>();
for (int i = 0; i < list.size() - 1; i++) {
double sum = list.get(i).getValue() + list.get(i + 1).getValue();
sums.add(sum);
}
return sums;
}
编辑
在这种情况下使用迭代器不会比执行普通循环快,只会使逻辑变得不必要地复杂,并且很容易引入错误。
作者:黑洞官方问答小能手
链接:http://www.javaheidong.com/blog/article/236693/2a5889e626dc7dffadb6/
来源:java黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 java黑洞网 All Rights Reserved 版权所有,并保留所有权利。京ICP备18063182号-2
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!