相关疑难解决方法(0)

如何将嵌套Java集合中的所有项目展平为单个列表?

给定一个复杂的嵌套对象集合,例如:

Set<List<Map<String, List<Object>>>> complexNestedCollection;
Run Code Online (Sandbox Code Playgroud)

是否存在一种通用方法来将其展平并获得包含在其中List的所有Object内容?

一些细节:

  1. 该列表不应包含集合对象本身或映射键 - 仅包含最低级别的值.
  2. 它应尽可能遵循相同的顺序 - 因此在示例中,列表中的项目将按顺序排列,而映射/集合的排序将取决于实现.
  3. 它可以选择性地排除重复
  4. 更新:理想情况下,它应该检测/处理任何级别的循环引用,例如List<List<Object>>外部List将自身包含为成员的位置.(感谢AdrianJałoszewski在下面的评论中提到这一点).

注意:实际的用例是从a获取所有字符串List<List<String>>,这可以通过两个循环轻松完成,但它让我对一般情况感到疑惑.

java collections recursion loops list

14
推荐指数
3
解决办法
5755
查看次数

标签 统计

collections ×1

java ×1

list ×1

loops ×1

recursion ×1