我想在Java中压缩某些类型T的元素的任意深层嵌套集合/结构,最好用
是否有可以处理此问题的java库?
Guava似乎只处理一个嵌套级别,即Collection<Collection<T>>
--flatten - &gt; Collection<T>
。
lambdaj看起来很有希望:我可以以某种方式合并on()
,asIterator()
和flattenIterator()
来实现这一目标吗?以静态类型安全的方式?
答案 0 :(得分:2)
Guava最终可能会支持 :
http://code.google.com/p/guava-libraries/issues/detail?id=174
(从底部向上阅读可能最容易,因为它的思考在其生命周期中已经移动了几次。)
答案 1 :(得分:1)
不是基于上述任何一种,但可能是一个DeepIterator类,它使用Collection构造,其next()方法查看下一个Object,如果它是一个instanceof,则将当前迭代器推送到Stack并递归到集合的迭代器。
答案 2 :(得分:0)
我认为这可能有所帮助:Arrays.deepToString(myCollection.toArray())