如何在不使用任何循环结构的情况下浏览集合?

Vij*_*bey 7 java

一个java面试问题.在java编程中是否有任何方法,然后循环结构迭代通过给定的集合(一个数组)并处理集合的每个元素.

Nic*_*ick 19

递归是一种方法

void it(Iterator i) {
    if (i.hasNext()) {
        System.out.println(i.next());
        it(i);
    }
}
Run Code Online (Sandbox Code Playgroud)

  • +1:我会指出这些,即使你可以这样做,任何在真实系统中这样做的人都应该被解雇.:P (4认同)

Mur*_*PAY 5

除了递归之外,commons-collection还有一些实用程序方法,您可以使用这些方法对集合执行操作.请注意,此api也在内部使用循环结构.但客户端代码看起来像:

CollectionUtils.forAllDo(
   yourCollection,
   new Closure() {
      void execute(java.lang.Object element) {
      // do smt with element
      }
   }
);
Run Code Online (Sandbox Code Playgroud)

在这里查看CollectionUtils:http://commons.apache.org/collections/apidocs/org/apache/commons/collections/Closure.html