Мне нравится
if (list != null) {
Iterator iter = list.iter();
if (iter.hasNext()) {
buffer.append(iter.next());
while (iter.hasNext()) {
buffer.append(", ");
buffer.append(iter.next());
}
}
}
Ключевым преимуществом этого является то, что 90% вашего времени выполнения, вероятно, будет выполнено во внутреннем цикле while, и это решение требует только одного сравнения, чтобы определить, нужно ли намвыйдите из внутреннего цикла while.
Другие решения также работают, но решение, которое выглядит следующим образом:
while (iter.hasNext()) {
buffer.append(iter.next());
if (iter.hasNext()) {
buffer.append(", ");
}
}
, вставляет ненужный оператор if в цикл while.Это означает, что необходимо провести дополнительное сравнение для каждого элемента, когда единственным отличающимся элементом будет последний элемент.
Сдвигая сравнение для проверки, является ли этот элемент последним, для сравнения, если естьболее чем один элемент, нам нужно только переместить добавленный "," в предварительно добавленный "," для каждого элемента, кроме первого