簡體   English   中英

Java中嵌套集合/結構的類型安全展平

[英]Type-safe flattening of nested collections/structures in Java

我想在Java中壓縮任意深度嵌套的某些類型T元素的集合/結構 ,最好用

  • 只有實時視圖而不是復制的集合;
  • 不僅處理集合,而且還有Iterator,任意維度的T數組,Iterable,以及任意混合和嵌套的所有這些結構;
  • 靜態類型安全。

有沒有一個可以處理這個的java庫?


番石榴似乎只處理一個嵌套級別,即Collection<Collection<T>> --flatten - > Collection<T>

lambdaj看起來很有希望:我可以以某種方式結合on()asIterator()flattenIterator()來實現這一目標嗎? 以靜態類型安全的方式?

番石榴最終可能會支持這個:

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

(這可能是最簡單的從下到上閱讀,因為它的思考在其生命周期中已經轉移了幾次。)

不是基於上述任何一種,而是使用Collection構造的DeepIterator類,其next()方法查看下一個Object,如果它是一個instanceof,則將當前迭代器推送到Stack並遞歸到該Collection的迭代器中。

我認為這可能會有所幫助: Arrays.deepToString(myCollection.toArray())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM