如何为除最后一行以外的所有行附加换行符?
我正在迭代HashMap(请参阅我之前的问题以获取更多详细信息)并构建一个由Map中包含的数据组成的字符串。对于每个项目,我将有一个新行,但对于最后一个项目,我不想要新行。我怎样才能做到这一点?我想我可以进行某种检查,看看该条目是否是最后一个,但我不确定如何实际做到这一点。
谢谢!
我正在迭代HashMap(请参阅我之前的问题以获取更多详细信息)并构建一个由Map中包含的数据组成的字符串。对于每个项目,我将有一个新行,但对于最后一个项目,我不想要新行。我怎样才能做到这一点?我想我可以进行某种检查,看看该条目是否是最后一个,但我不确定如何实际做到这一点。
谢谢!
将您的思维过程从“除最后一次之外的所有时间附加换行符”更改为“除第一次之外的所有时间都附加换行符”:
boolean first = true;
StringBuilder builder = new StringBuilder();
for (Map.Entry<MyClass.Key,String> entry : data.entrySet()) {
if (first) {
first = false;
} else {
builder.append("\n"); // Or whatever break you want
}
builder.append(entry.key())
.append(": ")
.append(entry.value());
}
一种方法(向Jon Skeet道歉,因为他借用了他的部分Java代码):
StringBuilder result = new StringBuilder();
string newline = "";
for (Map.Entry<MyClass.Key,String> entry : data.entrySet())
{
result.append(newline)
.append(entry.key())
.append(": ")
.append(entry.value());
newline = "\n";
}