Вывод списка массивов - PullRequest
0 голосов
/ 10 ноября 2011

В настоящее время я использую Iterator для вывода списка массивов, но я хочу вывести все это в одну строку. Я думаю, что лучше всего было бы использовать stringbuffer, но есть ли у кого-нибудь более эффективный метод?

Мой текущий метод вывода таков:

Iterator itr = cards.iterator();
while(itr.hasNext()){
    System.out.println(itr.next());
    System.out.println(); 
}

Пошел с этим Не эффективно вообще, но это все, что я понимаю на данный момент:

 Iterator itr = cards.iterator();
 String str = "";
    while(itr.hasNext()){
        str += (itr.next() + ", ");
    }
    return str;

Ответы [ 4 ]

2 голосов
/ 10 ноября 2011

Используйте System.out.print() вместо System.out.println().

См. PrintStream

1 голос
/ 10 ноября 2011

Используйте Arrays#toString для преобразования массива в String, например:

final String string = Arrays.toString( myArray );
System.out.println( string ); 
0 голосов
/ 10 ноября 2011

Вы должны сделать поиск по stackoverflow. Я думаю, что есть несколько хороших решений для вашей проблемы. Например, проверьте это: Java: StringBuffer & Concatenation

Вы должны решить проблему следующим образом:

public String myMethod() {
    StringBuilder sb = new StringBuilder();

    Iterator itr = cards.iterator();
    while(itr.hasNext()){
        addToBuffer(sb, itr.next());
    }
    return sb.toString();
}

private void addToBuffer(StringBuilder sb, String what) {
    sb.append(what).append(' ');  // char is even faster here! ;)
}
0 голосов
/ 10 ноября 2011

Вы можете использовать метод System.out.print (), он не меняет строку.

Но я рекомендую использовать более эффективный метод, такой как StringBuffer, который вы предложили.

...