当前位置: 首页 > 知识库问答 >
问题:

在Java中递归转储聚合结构(集合、数组)的内容

冷英博
2023-03-14

这是我关于Stackoverflow的第一个问题,所以如果你在我的第一个帖子中发现任何荒谬的东西,请耐心等待。我已经看过SO FAQ了,我知道它的各种政策。您知道,我是一个大量使用PHP、Perl、Python、ROR等语言的人,最近我“上下文切换”到Java EE。您知道,我研究过的几种语言都有一个构造,使我能够递归地转储聚合结构的内容,而不需要for/foreach/for.in循环

例如,

a = Any composite Data structure 

PHP具有

var_dump() and print_r() 
Data::Dumper

ROR具有

PrettyPrint

而且Python有

pprint module

所以我的问题是,

共有1个答案

宋凌龙
2023-03-14

java.util集合具有ToString(),它将递归地转储列表/集/映射等的详细信息。这要求存储在集合中的对象定义了有用的ToString()

但是,对于数组来说,它会出现故障,因为Java没有用于数组的缺省toString()。如果您知道要处理的是数组,那么您可以使用arrays.deepToString()实用程序方法(有关更多详细信息,请参阅Guido的响应)。

例如,以下代码:

final Map<String, Object> map = new HashMap<String, Object>();
final List<String> nested = Arrays.asList("foo", "bar", "baz");

map.put("given", "Arthur");
map.put("family", "Dent");
map.put("nested", nested);

System.out.println(map);

产生以下结果:

{nested=[foo, bar, baz], given=Arthur, family=Dent}
 类似资料:
  • 请考虑以下情况: 我如何在类图上表示< code>A和< code>B之间的关系?如果< code>B只保存一个< code>A(而不是一个数组),我会使用组合/聚合,但是在这种情况下,我不确定应该做什么。非常感谢你的帮助!

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

  • 因为聚合和组成是相关的关联,或者我们可以说它给出了对对象或其他任何东西之间关系的理解。 我发布这个问题是因为我在采访中问了一个问题,什么是组成和聚合。 所以根据我的理解,我给出了我的想法,如下所示。 http://www.coderanch.com/t/522414/java/java/Association-Aggregation-Composition 聚集、关联和组合 Java中的关联、聚合

  • 问题内容: 我只是在学习MySQL-是否有组合(或嵌套)聚合函数的方法? 给定一个查询: 这将给我每个用户回答的问题数量。我真正想要的是每个用户回答的平均问题数量…… 计算此统计信息的正确方法是什么? 如果有可能,是否有办法针对每个问题分解此统计信息?(用户可以多次回答相同的问题)。就像是: 问题答案: 您必须使用子查询: 您不能将一个聚合与另一个聚合一起包装。如果MySQL支持分析/排序/窗口功

  • 我不熟悉Mongo中的聚合查询,并且一直在努力产生我想要的输出。我有以下聚合查询: 返回以下结果: 如何修改聚合查询,以便只返回2个文档而不是3个文档?将两个“ABC-123”结果合并为一个结果,并使用带有“bu”和“count”字段的新计数数组,即。 非常感谢

  • 表T表示树。每个记录都是一个节点,每个节点只有一个父节点。 该查询计算每个节点的每个分支的SUM()。 我一直在尝试使用替代的子查询分解语法来实现这个查询的相同结果。任何帮助都将不胜感激!