【发布时间】:2016-06-03 02:28:47
【问题描述】:
我正在遍历字符串列表。我需要以逗号分隔的格式打印每个列表,除了最后一个元素。这是我的代码。
for(Iterator itr = list.iterator(); itr.hasNext();){
List<String> l = (List<String>) itr.next();
for(Iterator it = l.iterator(); it.hasNext();){
System.out.print(it.next() + " ");
}
System.out.println();
}
这会打印出类似
listen, silent, tinsel,
如何格式化打印逻辑以删除最后一个元素后的逗号。我可以在 for i 循环上执行此操作,根据最后一个索引检查 i 的值,但想知道如何使用 Java 中的 Iterator 来执行此操作。
【问题讨论】:
-
为什么要使用迭代器?使用流 api 和
.collect(joining(",")) -
好的,我从来没有使用过流 API,不知道该怎么做。会检查的。
-
“我需要以逗号分隔的格式打印除最后一个元素之外的每个列表”所以如果您的列表是
[[a,b][c,d,e]],您想打印a,b[lineSeparator]c,d,e还是@987654329 @? -
为了记录,即使你得到的答案比你得到的更优雅,你也可以在调用 next() 之后测试迭代器是否有下一个元素。如果它没有下一个元素,则不要打印尾随逗号。