Als «collections» getaggte Fragen

6
Warum enthält Java 8 keine unveränderlichen Sammlungen?
Das Java-Team hat eine Menge großartiger Arbeit geleistet, um Hindernisse für die funktionale Programmierung in Java 8 zu beseitigen. Insbesondere die Änderungen an den java.util-Sammlungen ermöglichen die Verkettung von Transformationen in sehr schnelle Streaming-Vorgänge. In Anbetracht der guten Arbeit, die sie beim Hinzufügen erstklassiger Funktionen und funktionaler Methoden zu Sammlungen …


6
Gute oder schlechte Praxis, Java-Sammlungen mit aussagekräftigen Klassennamen zu maskieren?
In letzter Zeit habe ich es mir zur Gewohnheit gemacht, Java-Sammlungen mit menschlichen Klassennamen zu "maskieren". Einige einfache Beispiele: // Facade class that makes code more readable and understandable. public class WidgetCache extends Map<String, Widget> { } Oder: // If you saw a ArrayList<ArrayList<?>> being passed around in the code, …

8
Warum erlaubt java.util.ArrayList das Hinzufügen von null?
Ich frage mich, warum java.util.ArrayListman das hinzufügen darf null. Gibt es einen Fall , wo ich möchte hinzufügen , nullum ein ArrayList? Ich stelle diese Frage, weil wir in einem Projekt einen Fehler hatten, bei dem Code hinzugefügt wurde null, ArrayListund es schwierig war, zu erkennen, wo der Fehler war. …

9
Sollte ich leere Sammlungen in meinen Methoden akzeptieren, die über sie iterieren?
Ich habe eine Methode, bei der die gesamte Logik in einer foreach-Schleife ausgeführt wird, die den Parameter der Methode durchläuft: public IEnumerable<TransformedNode> TransformNodes(IEnumerable<Node> nodes) { foreach(var node in nodes) { // yadda yadda yadda yield return transformedNode; } } In diesem Fall führt das Einreichen einer leeren Sammlung zu einer …


2
Java: Warum akzeptieren Sammlungen einen Komparator, aber keinen (hypothetischen) Hasher und Äquator?
Dieses Problem tritt am deutlichsten auf, wenn Sie unterschiedliche Implementierungen einer Schnittstelle haben und sich für die Zwecke einer bestimmten Sammlung nur um die Ansicht der Objekte auf Schnittstellenebene kümmern. Angenommen, Sie hatten eine Schnittstelle wie diese: public interface Person { int getId(); } Die übliche Art hashcode()und Weise, equals()Klassen …
25 java  collections 




5
Effiziente Methode zum Mischen von Objekten
Ich schreibe ein Programm für eine Quizsoftware. Ich habe eine Frageklasse, die die ArrayLists für die Frage, die Antwort, die Optionen, die Marken und die negativen Marken enthält. Etwas wie das: class question { private ArrayList<Integer> index_list; private ArrayList<String> question_list; private ArrayList<String> answer_list; private ArrayList<String> opt1_list; private ArrayList<String> opt2_list; } …
20 java  collections 

3
Ist es eine vernünftige Sache, Streams überall dort zurückzugeben, wo wir normalerweise Sammlungen zurückgeben würden?
Während ich meine API entwickle, die an keinen Legacy-Code gebunden ist, schreibe ich häufig Methoden, bei denen es sich um reine Streams-Pipeline handelt, die durch das Sammeln der Ergebnisse beendet wird. Wie dieser: ImmutableSet<T> deriveSomethingMeaningfulFromPrivateState() { return myPrivateThingies.stream() .map(this::ownerOfThing) .map(Owner::socialStatus) .filter(SocialStatus::isHeAFineMatey) .collect(MyCustomCollectors.toImmutableSet()); } Die meisten Clients dieser Klasse benötigen normalerweise …

3
Gewusst wie: Unit-Test-Methode, die eine Auflistung zurückgibt, während Logik im Test vermieden wird
Ich teste eine Methode, die eine Sammlung von Datenobjekten erzeugen soll. Ich möchte überprüfen, ob die Eigenschaften der Objekte korrekt eingestellt sind. Einige der Eigenschaften werden auf dasselbe festgelegt. andere werden auf einen Wert gesetzt, der von ihrer Position in der Sammlung abhängt. Der natürliche Weg, dies zu tun, scheint …

5
Java Heap Allocation Schneller als C ++
Ich habe diese Frage bereits auf SO gepostet und sie ist in Ordnung. Es wurde leider geschlossen (es braucht nur eine Stimme, um es wieder zu öffnen), aber jemand schlug vor, dass ich es hier posten sollte, da es besser passt. Das Folgende ist also buchstäblich eine Kopie der Frage …


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.