【发布时间】:2021-11-19 21:05:41
【问题描述】:
我想像在 TreeSet 中一样制作一个 toString。 例如,我的 toString 将打印如下内容:
Student{name='student1', dateOfBirth=2003-04-01, details='none'}, Student{name='student2', dateOfBirth=1999-05-11, details='none'},
但我想要这样的东西:
[Student{name='student1', dateOfBirth=2003-04-01, details='none'}, Student{name='student2', dateOfBirth=1999-05-11, details='none'}]
我的代码:
public String toString() {
StringBuffer string = new StringBuffer();
inorderPrint(root, string);
return string.toString();
}
private void inorderPrint(Node root, StringBuffer stringBuffer) {
if (root != null) {
inorderPrint(root.left, stringBuffer);
stringBuffer.append(root.value.toString() + ", ");
inorderPrint(root.right, stringBuffer);
}
}
【问题讨论】:
-
我看不出有什么不同。你能具体说明你想在输出中改变什么吗?也请您显示
toString方法。 -
区别在于开头的'['和结尾的']',最后也没有','。
-
您可以使用 '[' 初始化 StringBuffer,在 inorderPrint 之后附加结束的 ']' 并添加逗号,但前提是 stringBuffer 有超过 1 个元素(左括号)跨度>
-
你能把这个写在我的代码里吗,我不太懂你
-
迂腐传入,我想你想要
StringBuilder,因为你不需要它是synchronized。
标签: java binary-tree binary-search-tree