Java中嵌套集合/结构的类型安全扁平化



我想平化Java中某种类型T元素的任意深度嵌套集合/结构,最佳使用

  • 只有实时视图,没有复制集合;
  • 不仅可以处理集合,还可以处理Iterator、任意维的T数组、Iterable以及任意混合和嵌套的所有这些结构;
  • 静类型安全。

是否有一个java库可以处理这个?


Guava似乎只处理一个嵌套级别,即Collection<Collection<T>>—flatten—> Collection<T>

lambdaj看起来很有希望:我能以某种方式组合on(), asIterator()flattenIterator()来实现这一点吗?以静态类型安全的方式?

Guava可能最终会支持这个:

http://code.google.com/p/guava-libraries/issues/detail?id=174

(从下往上读可能是最容易的,因为在它的生命周期中,对它的思考已经改变了几次。)

不是基于上述任何一个,但可能是一个由Collection构造的DeepIterator类,该Collection的next()方法查看下一个对象,如果它是Collection的实例,则将当前迭代器压入堆栈并递归到该Collection的迭代器中。

我想这可能会有帮助:Arrays.deepToString(myCollection.toArray())

相关内容

  • 没有找到相关文章

最新更新