迭代Java中的字符串列表

Zeu*_*eus 3 java iterator

我正在遍历一个字符串列表列表.我需要以逗号分隔格式打印每个列表,除了最后一个元素.这是我的代码.

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();
}
Run Code Online (Sandbox Code Playgroud)

这打印出类似的东西

listen, silent, tinsel,
Run Code Online (Sandbox Code Playgroud)

如何格式化打印逻辑以删除最后一个元素后的逗号.我可以在for i循环检查i最后一个索引的值,但希望知道如何使用IteratorJava.

Tun*_*aki 5

使用Java 8,你不要写任何循环,你可以使用String.join(delimiter, elements):

返回StringCharSequence指定分隔符的副本连接在一起的元素副本的新组合.

示例代码如下:

for(Iterator<List<String>> itr = list.iterator(); itr.hasNext();){
    List<String> l = itr.next();
    String str = String.join(", ", l);
    System.out.println(str);
}
Run Code Online (Sandbox Code Playgroud)

使用此类代码,您无需担心删除最后一个分隔符.