当前位置: 首页 > 面试题库 >

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

常波鸿
2023-03-14
问题内容

我想 展平 Java中某种类型T的元素的 任意深度嵌套的集合/结构 ,最好是

  • 仅具有实时视图,没有复制的收藏集;
  • 不仅处理集合,还处理迭代器,任意维的T数组,可迭代,以及所有这些结构的任意混合和嵌套;
  • 静态类型安全。

是否有可以处理此问题的Java库?

番石榴似乎只处理一个嵌套级别,即Collection<Collection<T>>--flatten->
Collection<T>

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


问题答案:

番石榴 最终 可能会支持这一点:

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

(从下至上读起来可能是最容易的,因为关于它的想法在其一生中已经发生了几次转变。)



 类似资料:
  • 本文向大家介绍C++ 嵌套类/结构,包括了C++ 嵌套类/结构的使用技巧和注意事项,需要的朋友参考一下 示例 甲class或struct还可以包含另一个class/struct内部本身的定义,这被称为“嵌套类”; 在这种情况下,包含类称为“封闭类”。嵌套类定义被认为是封闭类的成员,但在其他方面则是单独的。 从封闭类的外部,可以使用范围运算符访问嵌套类。但是,在封闭类的内部,可以使用没有限定符的嵌套

  • 问题内容: 这样编译(1.6) 但这不是 的错误 有人可以解释为什么吗?谢谢 编辑:编辑为结果 问题答案: 因为这会破坏类型安全性:

  • 问题内容: 我在Scala和Java之间遇到编译问题。 我的Java代码需要一个 我的scala代码有一个 我收到编译错误: 似乎scala.collection.JavaConversions不适用于嵌套集合,即使Vector可以隐式转换为Iterable。除了遍历scala集合并手动进行转换之外,我还能做些什么使这些类型起作用? 问题答案: 应该弃用恕我直言。您最好使用来明确说明转换的时间和地

  • 我有一个不那么独特的需求,但我只是找到了正确的术语来搜索,因为我只得到如何查询列表/数组字段或嵌套元素的结果。 提前感谢所有的帮助。

  • 问题内容: 我正在寻找Java的LIFO结构(堆栈)的Collections框架,但没有成功。基本上,我想要一个非常简单的堆栈;我最好的选择是Deque,但是我使用Java 1.5。 我不想不必在我的结构中添加另一个类,但是我想知道是否可行: Collections框架(1.5)中是否有任何类可以完成这项工作? 如果没有,是否有任何方法可以在不重新实现的情况下在LIFO队列(又称为堆栈)中转换队列

  • Vector:就比Arraylist多了个同步化机制(线程安全)。 Stack:栈,也是线程安全的,继承于Vector。 Hashtable:就比Hashmap多了个线程安全。 ConcurrentHashMap:是一种高效但是线程安全的集合。