Ich habe eine ArrayList
die ich vollständig als String ausgeben möchte. Im Wesentlichen möchte ich sie in der Reihenfolge ausgeben, in der die toString
der einzelnen Elemente durch Tabulatoren getrennt. Gibt es eine schnelle Möglichkeit, dies zu tun? Sie könnten Schleife durch sie (oder entfernen Sie jedes Element) und verketten es zu einem String, aber ich denke, dies wird sehr langsam sein.
Antworten
Zu viele Anzeigen?Wenn Sie Folgendes verwenden Eclipse-Kollektionen können Sie die makeString()
Methode.
ArrayList<String> list = new ArrayList<String>();
list.add("one");
list.add("two");
list.add("three");
Assert.assertEquals(
"one\ttwo\tthree",
ArrayListAdapter.adapt(list).makeString("\t"));
Wenn Sie Ihre ArrayList
zu einer FastList
können Sie sich des Adapters entledigen.
Assert.assertEquals(
"one\ttwo\tthree",
FastList.newListWith("one", "two", "three").makeString("\t"));
Anmerkung: Ich bin ein Committer für Eclipse Collections.
Zur Trennung mit Tabulatoren statt mit println können Sie drucken
ArrayList<String> mylist = new ArrayList<String>();
mylist.add("C Programming");
mylist.add("Java");
mylist.add("C++");
mylist.add("Perl");
mylist.add("Python");
for (String each : mylist)
{
System.out.print(each);
System.out.print("\t");
}
Ich sehe einige Beispiele, die auf zusätzliche Ressourcen angewiesen sind, aber es scheint, wie dies die einfachste Lösung wäre: (das ist, was ich in meinem eigenen Projekt verwendet), die im Grunde nur von einem ArrayList zu einem Array und dann zu einer Liste konvertieren.
List<Account> accounts = new ArrayList<>();
public String accountList()
{
Account[] listingArray = accounts.toArray(new Account[accounts.size()]);
String listingString = Arrays.toString(listingArray);
return listingString;
}