Input/Output Array in einem String mit einem Trennzeichen verbinden

dummy2k

Mitglied
Ich habe folgende Funktion:

Code:
    String companies = "";
            for(Company d : list){
                    companies += d.getName() +", ";
              }

Am Ende habe ich im String ein unerwünschtes ",". Ich könnte jetzt natürlich eine If-Abfrage machen, jedoch habe ich mich gefragt, ob das Ganze nicht leichter geht. Existiert vielleicht eine Funktion? Danke!
 

JCODA

Top Contributor
in der String-Klasse gibt es:
public static String join(CharSequence delimiter, CharSequence... elements)
public static String join(CharSequence delimiter, Iterable<? extends CharSequence> elements)
https://docs.oracle.com/javase/8/do....lang.CharSequence-java.lang.CharSequence...-

Java:
String companies = String.join(",",list);

EDIT: Oops, scheint als müsste man noch getName auf der Liste aufrufen... vielleicht so?
Java:
String companies = list.stream().map(Company::getName).collect(Collectors.joining(", "));

Siehe auch: https://ivarconr.wordpress.com/2013/11/20/java-8-joining-strings-with-stream-api/
 
Zuletzt bearbeitet:

dummy2k

Mitglied
in der String-Klasse gibt es:
public static String join(CharSequence delimiter, CharSequence... elements)
public static String join(CharSequence delimiter, Iterable<? extends CharSequence> elements)
https://docs.oracle.com/javase/8/do....lang.CharSequence-java.lang.CharSequence...-

Java:
String companies = String.join(",",list);

EDIT: Oops, scheint als müsste man noch getName auf der Liste aufrufen... vielleicht so?
Java:
String companies = list.stream().map(Company::getName).collect(Collectors.joining(", "));

Siehe auch: https://ivarconr.wordpress.com/2013/11/20/java-8-joining-strings-with-stream-api/

Wenn ich das probiere erhalte ich die Fehlermeldung:
Method references are allowed only at source level 1.8 or above

Was bedeutet das? Kann das jemand verständlich für einen Anfänger erklären? Danke!
 

CSHW89

Bekanntes Mitglied
... dass du dafür Java 8 benötigst. Meine pre-Java-8 Lösung sah eigentlich immer so aus:
Java:
StringBuilder sb = new StringBuilder();
boolean first = true;
for(Company d : list){
    if (! first) sb.append(", ");
    first = false;
    sb.append(d.getName());
}
String companies = sb.toString();
StringBuilder übrigens, da er performanter ist, als ständig ein neuen String zu erstellen. Das passiert nämlich intern beim "+=" Operator auf Strings.

lg Kevin
 

CSHW89

Bekanntes Mitglied
Hm noch nie benutzt. Schau ich mir mal an, danke! Wird dadurch nur die Syntax unterstützt oder auch die komplette Java8-Standardlibrary? Gerade die Stream-Library fehlt mir hin und wieder in Android.
 

Blender3D

Top Contributor
Das if lässt sich auch so vermeiden.
Code:
String list[] = {"Firma 1","Firma 2", "Firma 3" };
        StringBuilder companies = new StringBuilder(list[0]);
        for( int i = 1; i < list.length; i++ ){
            companies.append(",");
            companies.append(list[i]);
        }
        System.out.println(companies);
 

dummy2k

Mitglied
Nicht das komplette Set an Features aber schon einiges: HIER
Wird wohl noch ein wenig dauern (Ist ja immer erst > 3 Jahre her mit Java 8 release und 9 steht schon vor der Türe *sarcasm off*)
in meiner Arbeit, soweit ich das verstanden habe, gibt es noch alte Programme die noch betrieben werden, aber deren Server nicht upgedatet werden. Angeblich aus Kostengründen.
 

JStein52

Top Contributor
Der Support von "alten" Sachen wird nicht günstiger.
Kommt auf das Lizensierungsmodell an. Kann durchaus sein dass "alte" Software eingesetzt wird die nur für Java 6 freigegeben ist und wo neue Lizenzen für ein Update auf Java 8 fällig werden. Die werden das in deiner Firma schon wissen. Und dann ist es halt so wie es ist.

Edit: und mal ehrlich, für die gestellte Aufgabe ist jetzt wirklich kein Java 8 notwendig. Im gegenteil, so kommst du wenigstens nicht auf dumme Gedanke und verwendest Lambda's. :):):)
 

Flown

Administrator
Mitarbeiter
Wow ihr hängt euch am falschen Haken auf. Das mit den Lizenzen wollte ich nicht in Frage stellen.
Was ich eigentlich sagen wollte ist, dass für viele anscheinend Java 8 noch nicht angekommen ist - auch viele Frameworks hinken hinterher. Immerhin schon 3 Jahre alt und Java 9 steht vor der Türe.
Die neuen Features erleichtern ungemein das Arbeiten mit Java und führt es in eine neue Richtung, die seit Jahren bewehrt sind (i.e. funktional).

B2T: Ich finde es einfach schade, dass Andriod nur teilweise Java 8 features integriert und mehr wollte ich eigentich nicht sagen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J String aus einem Array entfernen Java Basics - Anfänger-Themen 10
FelixN RegEx aus einem String als String-Array zurückgeben Java Basics - Anfänger-Themen 8
T Schauen ob eine Ziffer in einem String-Array häufiger vorkommt Java Basics - Anfänger-Themen 8
F Methoden Kontaktliste - String in einem Array suchen und ausgeben Java Basics - Anfänger-Themen 3
B Binäre Suche in einem String Array Java Basics - Anfänger-Themen 10
G String einem String Array übergeben Java Basics - Anfänger-Themen 3
J Einem String-Array in einer for-Schleife Strings zuweisen - Klappt nicht in einer for-Schleife Java Basics - Anfänger-Themen 5
P String Sortieren in einem Array Java Basics - Anfänger-Themen 7
B Werte aus JTextArea in einem String Array ablegen Java Basics - Anfänger-Themen 4
Beckenbauer OOP Durch Komma getrennte Einträge in einem String in ein Array oder eine Tabelle schreiben Java Basics - Anfänger-Themen 4
T Anzahl eines Strings in einem String-Array Java Basics - Anfänger-Themen 5
P String aus Zahlen auslesen und in einem Array speichern Java Basics - Anfänger-Themen 3
G Elemente in einem String-Array in einen String umwandeln Java Basics - Anfänger-Themen 2
R Images aus einem Array ausgeben Java Basics - Anfänger-Themen 3
D OOP Array einem Objekt zuweisen Java Basics - Anfänger-Themen 2
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
S Bestimmte werte aus einem Array löschen Java Basics - Anfänger-Themen 2
S Ausgeben wie oft ein Wert in einem Array vorkommt Java Basics - Anfänger-Themen 7
A Elemente in einem Array Java Basics - Anfänger-Themen 5
S Eine Variable in einem Array speichern Java Basics - Anfänger-Themen 5
T Methode, die prüft ob in einem Int-Array maximal 2 Zahlen enthalten sind, die größer als ihr Vorgänger sind Java Basics - Anfänger-Themen 5
L Gridmuster in einem Array Java Basics - Anfänger-Themen 2
O Array mit einem Zeichen vergleichen Java Basics - Anfänger-Themen 1
Igig1 Wie lasse ich dir Werte in einem Array zusammenrücken? Java Basics - Anfänger-Themen 4
Igig1 Welche Werte sind als default Werte in einem Array, der als Datentyp eine Klasse hat? Java Basics - Anfänger-Themen 1
Schniffi Nur bestimmte Bilder aus einem Array auf Image Button anzeigen lassen Java Basics - Anfänger-Themen 3
B in einem Array den nächstgelegenen Wert zu einem eingabewert finden Java Basics - Anfänger-Themen 8
B Häufigkeit einzelner Zahlen in einem Array Java Basics - Anfänger-Themen 6
D Zufällige Auswahl aus einem angelegten Array? Java Basics - Anfänger-Themen 10
A Löschen von Leerzeichen in einem char array ohne methoden Java Basics - Anfänger-Themen 6
T Methode schreiben, die einem Array ein Stringelement hinzufügt, wenn dieses noch nicht enthalten ist. Java Basics - Anfänger-Themen 6
H Minimum in einem Array bestimmen Java Basics - Anfänger-Themen 7
C Größte Zahl aus einem Array ermitteln(als statische Methode) Java Basics - Anfänger-Themen 31
G Methoden Methode die aus einem Array ein Index ausgibt? Java Basics - Anfänger-Themen 2
U Muster in einem Array erkennen Java Basics - Anfänger-Themen 8
Z Char Array an zufälligen stellen mit einem "x" füllen. Java Basics - Anfänger-Themen 4
J Elemente in einem 2D-Array summieren Java Basics - Anfänger-Themen 6
L Wie frage ich ab, ob in einem Array, Werte doppelt vorkommen? Java Basics - Anfänger-Themen 4
P Arraylist zu einem Array bringen mit Verschachtelung Java Basics - Anfänger-Themen 11
M Ist es möglich, das größte und zweitgrößte element in einem Array mit nur einer Schleife ausfindig zu machen ? Java Basics - Anfänger-Themen 19
H Objekt aus einem Array löschen Java Basics - Anfänger-Themen 1
L Anzahl der Elemente key in einem Array mit log(N) Laufzeit Java Basics - Anfänger-Themen 4
B Werte aus einem Unterprogramm in ein Array schreiben Java Basics - Anfänger-Themen 2
L Nur Bestimmte Werte aus einem Array in ein anderes Speichern Java Basics - Anfänger-Themen 11
F Summe in einem Array bestimmen Java Basics - Anfänger-Themen 3
D Alle Möglichkeiten, n-Anzahl aus Elementen aus einem Array zu wählen, ausgeben? Java Basics - Anfänger-Themen 23
D Werte aus einem BinärBaum in einem Array speichern Java Basics - Anfänger-Themen 1
E Zahlen von einem Array mit zahlen von zweitem Array vergleichen Java Basics - Anfänger-Themen 27
S Schiffe versenken - Zufallszahlen in einem Array Java Basics - Anfänger-Themen 6
Dilara_K Abstand zwischen den Doppelwerten in einem Array herausfinden Java Basics - Anfänger-Themen 20
P Input/Output Bestimmte Anzahl von Werten in einem Array an Methode übergeben Java Basics - Anfänger-Themen 2
N Methoden vorherigen Wert in einem Array lieferen Java Basics - Anfänger-Themen 8
P Aus einem Array zwei Arrays machen Java Basics - Anfänger-Themen 3
M 2 Stellen in einem Array vergleichen und bei übereinstimmen eine davon ersetzen Java Basics - Anfänger-Themen 1
V Elemente aus einem Array mit null überschreiben Java Basics - Anfänger-Themen 4
K Compiler-Fehler Durchschnitt einer Spalte in einem 2D-Array Java Basics - Anfänger-Themen 1
A .txt Datei in einem Array speichern Java Basics - Anfänger-Themen 1
H Leere Eingabe in einem array Java Basics - Anfänger-Themen 11
B seltenes Vorkommen eines Integers in einem Array Java Basics - Anfänger-Themen 13
A Frage zu einem Array Java Basics - Anfänger-Themen 14
B Methoden Element aus einem Array löschen, Rest nach vorne verschieben? Java Basics - Anfänger-Themen 4
M Bestimmen, wie oft ein Char in einem Array vorkommt Java Basics - Anfänger-Themen 2
R Anzahl von Zeichen in einem Char Array Java Basics - Anfänger-Themen 4
L Linerae Suche in einem sortierten Array Java Basics - Anfänger-Themen 2
D Alle möglichen Kombinationen in einem Array ausgeben Java Basics - Anfänger-Themen 2
Y Gleiche Arrays aus einem Array mit Objekten Java Basics - Anfänger-Themen 5
C Abfrage nach einem Bild im Array Java Basics - Anfänger-Themen 9
C Rekursion auf einem Array(negative werte addieren) Java Basics - Anfänger-Themen 4
W JTable mit einem JButton-Array füllen Java Basics - Anfänger-Themen 4
D SetText Ausgabe von einem Array Java Basics - Anfänger-Themen 6
F Objekte in einem Array speichern Java Basics - Anfänger-Themen 1
E Summe der "Nachbarn" eines Wertes in einem Array bestimmen Java Basics - Anfänger-Themen 8
V Zwei Array in einem kopieren Java Basics - Anfänger-Themen 3
H n Zahlen aus einem Array addieren Java Basics - Anfänger-Themen 17
V Anzahl von gleichen Werten in einem Int-Array ermitteln Java Basics - Anfänger-Themen 4
1 Minimum aller Elemente in einem Array bestimmen Java Basics - Anfänger-Themen 10
J Inhalt in einem Text-File finden und in ein Array schreiben Java Basics - Anfänger-Themen 5
A Methoden Array: ausgeben von einem Wörterbucheintrag Java Basics - Anfänger-Themen 4
J In einem Array die größte Zahl ermitteln und Faktorisieren. Java Basics - Anfänger-Themen 5
M In Testklasse einem Array Werte übergeben Java Basics - Anfänger-Themen 6
J Methoden Einzelnen Wert aus Objekt aus einem Array auslesen und danach sortieren Java Basics - Anfänger-Themen 8
S Rückgabe von einem Array Java Basics - Anfänger-Themen 7
J Speichern von Würfelwürfen in einem Array Java Basics - Anfänger-Themen 5
F Einzelne Werte aus einem Array vergleichen? Java Basics - Anfänger-Themen 8
G Element einem Array hinzufügen Java Basics - Anfänger-Themen 7
W Elemente in einem Array nach 'oben' verschieben Java Basics - Anfänger-Themen 9
I Objekte in einem Array sortieren Java Basics - Anfänger-Themen 19
D Eine Stelle eines Char- Arrays nach dem vorkommen in einem ganzem anderem Array überprüfen Java Basics - Anfänger-Themen 20
D Arrays zusammenfügen und in einem Array ausgeben Java Basics - Anfänger-Themen 3
T Mehrfach auftretende Zahlen in einem Array Java Basics - Anfänger-Themen 13
N Array problem bei einem magischen Quadrats Java Basics - Anfänger-Themen 3
M eine 1 von einem 2d Array subtrahieren Java Basics - Anfänger-Themen 11
I Erste Schritte Ein Zeichen in einem Array Suchen Java Basics - Anfänger-Themen 8
C Ausgabe von einem Array Java Basics - Anfänger-Themen 5
R Aus einem 2 d array rausgreifen Java Basics - Anfänger-Themen 9
K Letzter element aus einem Array Java Basics - Anfänger-Themen 5
D Erste Schritte Warum wird bei einem Array die Länge über Length ausgegeben? Java Basics - Anfänger-Themen 6
J Alle Vorkommen eines chars in einem Array durch einen anderen char ersetzen Java Basics - Anfänger-Themen 10
P Variablen Wert vergleichen mit einem Array? Java Basics - Anfänger-Themen 13
R Teile aus einem mehrdimensionalen Array vergleichen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben