Java面试问题。有没有什么办法在Java编程,然后循环结构遍历给定的集合(一个数组),并在集合的每个元素上工作。如何在不使用任何循环结构的情况下通过集合?
回答
递归是一个办法做到这一点
void it(Iterator i) {
if (i.hasNext()) {
System.out.println(i.next());
it(i);
}
}
+1代表示例。 – 2011-06-14 13:37:26
+1:即使你能做到这一点,我也会指出这些,任何在真实系统中做到这一点的人都应该被解雇。 :P – 2011-06-14 13:49:48
@Peter Lawrey同意 – RMT 2011-06-14 13:58:27
您可以交换递归迭代解决方案。循环是迭代的,所以只需创建一个递归解决方案。
是的,你可以递归经过一个函数来获得相同的功能:
public void iterate(int[] array, int index){
if (index >= array.length){
return;
}else{
//work with element at array[index]
iterate(array, index+1);
}
}
除了递归公共收集具有实用方法你可能会用来做一个集合的东西。请注意,这个API也在内部使用循环结构。但是,客户端代码看起来像:
CollectionUtils.forAllDo(
yourCollection,
new Closure() {
void execute(java.lang.Object element) {
// do smt with element
}
}
);
检查这里的CollectionUtils:http://commons.apache.org/collections/apidocs/org/apache/commons/collections/Closure.html
+1我喜欢这个......尴尬的左撇子不是什么人都期待的方法。我会相信它的作品。 – Matt 2011-06-14 14:02:17
- 1. 如何在不使用任何循环的情况下数数?
- 2. 如何在不使用任何数据结构的情况下正确循环移位数字?
- 3. 如何在不冻结GUI的情况下执行For循环?
- 4. 如何在不使用循环的情况下打印阶乘?
- 5. 如何在不通过数据结构循环的情况下从列表中检索特定的emp对象
- 6. 如何在这种情况下循环
- 7. 如何在不使用循环的情况下生成循环数字序列?
- 8. 如何在不跳过合法循环的情况下处理nullreferenceexception?
- 9. 如何通过jQuery结果集循环
- 10. 如何在没有层次结构的情况下遵循xpath?
- 11. 如何在不通过brew安装的情况下使用`psql`
- 12. 如何在我的情况下使用承诺循环
- 13. 如何在不使用循环变量的情况下构建循环的刻度
- 14. 如何在没有while循环的情况下使用nanomsg调查架构?
- 15. 如何在这种情况下使用“循环”?
- 16. 如何在不冻结UI的情况下在Android中运行无限循环?
- 17. 如何在不破坏循环的情况下返回值?
- 18. 如何在不暂停循环的情况下显示循环的进度?
- 19. 如何在不退出现有循环的情况下安排任务?
- 20. 如何在不引起循环引用的情况下使用LazyLoading和WCF?
- 21. 如何在这种情况下使用ZeroMQ设计结构
- 22. 如何在不使用迭代器的情况下在Golang中循环?
- 23. 如何在不使用NSTimer的情况下在iPhone上制作游戏循环
- 24. 如何在不打破JavaScript主循环的情况下打破子循环?
- 25. 如何在不通过.NET中的集合枚举的情况下获取ManagementObjects(WMI结果)的计数
- 26. Spark:如何在不使用任何连接的情况下过滤行?
- 27. 如何在不使用循环的情况下更新表中的多行?
- 28. 如何在不使用循环的情况下编写CVX中的约束
- 29. 如何在不使用循环的情况下删除DataTable的行?
- 30. 如何在不使用每个循环的情况下更新C#中的DataTable?
是否“转到”资格作为一个“循环”建设? :) – Nick 2011-06-14 13:40:53
@Nick在Java中没有转到。 – pingw33n 2011-06-14 13:41:43
显然......一个理智的程序员不会在真正的程序中做这些事情:-) – 2011-06-14 13:45:15