Container ist für dich ein Java Objekt? In welchem Szenario?
Im übrigen ziemlich egal. Den Unterschied wird niemand merken. Dennoch ist die Speicherung von verschiedenen Objekten in Datenstrukturen wie Listen vorzuziehen. 2 Strings zu konkatenieren um sie zu speichern macht wohl in keiner Situation Sinn.
Um die Frage beantworten zu können musst Du etwas mehr “Fleisch” in Deine Anfrage legen:[ul][li]Handelt es sich nur um zwei Werte oder handelt es sich um eine Liste von Wertepaaren?
[/li][li]Wenn letzteres, gibt es zwischen den Werten eine “Schlüssel/Wert” Beziehung?[/ul]Je nachdem wie Du diese Fragen beantwortest kommen verschiedene Lösungen in Frage: ein einfaches DTO (DataTransferObject) , eine Map oder eine List die DTOs enthält.
[/li]
bye
TT
Eindeutig Ersteres, und zwar nicht aus technuischen Gründen:
Aus technischer Sicht wären nämlich beide Lösungen (noch) gleichwertig.
Aber wass passiert, wenn die Elemente nicht mehr nur aus einem Zeichen bestehen? Die “List”-Lösung kann ohne weiteres auch mit längeren Strings umgehen, die “Concatenate”-Lösung nicht.
Hm, ja, etwas drüber nachdenken. Ein langer String benötigt weniger Speicherplatz, eine Liste mit mittelgroßen Elementen ist schneller (so wie oben für kleine Elemente langsamer). Am schnellsten ist für Vorne und Hinten einfügen array deque.
Vor- und Nachteile will ich jetzt nicht aufzählen, aber all so was ist denkbar:
list.add('a');
list.add('b'); /* .... */```
```List<Character> list = new LinkedList<Character>();
list.add('a');
list.add('b'); /* .... */```
```StringBuilder sb = new StringBuilder(/* 13 * 1024 */);
sb.append("abcd");
sb.append('-');
sb.append("efgh");
sb.append('-'); /* .... */```
Soweit alles klar? str.concat( und +-Konkatenation hat den Nachteil, dass Strings immutable sind und jedes Mal alle Zeichen der beiden Zeichenketten kopiert werden müssen.
"So I'ma just say good night, to you ... And so far (so far)"xD^^
OT:
Ab Java 7 kann man übrigens die redundanten Typparameter weglassen.
Statt List<String> list = new ArrayList<String>(); braucht man nur noch List<String> list = new ArrayList<>(); zu schreiben (Diamond-Operator).
Jo, diamonds, hilft dem/der TO 1. nicht, ist 2. schwerer lesbar und ist 3. nicht abwärtskompatibel (sowie schreibt mir das die IDE 4. per/via Autovervollständigung, wenn es benötigt wird).
Ach ja, das sind 5. generische (formale) (Typ-)Parameter(/-Typen), aber da will ich mich nicht unnötig aus dem Fenster lehnen (weit). Grüße. (Alle sind richtig)
das Posting von 12:48 war eine neutral-sinnvolle Anmerkung
(wobei man die fast in jeden Thread posten könnte, war ja auch als ‚OT‘ markiert, Java 7 ist auch in Jahren noch nicht überall ),
die Aufzählung der 5 Punkte von 13:01 unnötig, wenn was Streitsuche war, dann das,
und nun ist hoffentlich Ruhe dazu, @reno , du brauchst dich CyborgBeta gegenüber nicht (noch weiter) zu rechtfertigen, lohnt nicht
[QUOTE=CyborgBeta]
Soweit alles klar? str.concat( und ±Konkatenation hat den Nachteil, dass Strings immutable sind und jedes Mal alle Zeichen der beiden Zeichenketten kopiert werden müssen. [/QUOTE]
Das wusste ich nicht, danke für die Info
Genau aus diesem Grund habe ich die Frage gestellt, weil ich wissen wollte, mit welchem Variante ich weniger Speicherplatz benötige. Danke für die Antwort