/ / Was ist der Unterschied zwischen einer Liste in einer Liste und einem 2D-Array? - Java, Arrays, Arrayliste

Was ist der Unterschied zwischen Liste in einer Liste und 2D-Array? - Java, Arrays, Arraylist

Ich bin verwirrend zu entscheiden, welche Liste weniger Zeit hatKomplexität seit dem Hinzufügen von Elementen. Hat list weniger bigO als 2D-Array? Ich möchte es verwenden, um einen ungerichteten und ungewichteten Graphen mit ungefähr 1000 Scheitelpunkten darzustellen. Es wird verwendet, um Scheitelpunkte zu speichern.

 List<Integer> list

VS.

 int[][] list2

Antworten:

0 für die Antwort № 1

Es würde dich nur interessieren, wenn du darüber redest enorm Anzahl der Elemente in Ihren Listen / Arrays.

Die Klassen, die vom Rahmen für Sammlungen bereitgestellt werden;wie ArrayList fügen Sie einen bestimmten Leistungspreis hinzu; im Vergleich zu einfachen alten Arrays. Also, wenn Sie etwas auf 10 Millionen Zahlen berechnen müssen; Möglicherweise sollten Sie double [] anstelle von ArrayList verwenden.

Aber für die meisten anderen Anwendungsfälle, Sammlungen einfachstellen Sie eine viel reichere Schnittstelle zur Verfügung; Dies bedeutet, dass es viel einfacher ist, Code für die Lesbarkeit und Wartbarkeit zu "optimieren", wenn Sie auf die Verwendung von Arrays verzichten und sich stattdessen einer Collection-Klasse zuwenden. In der Realität sind diese Eigenschaften jedoch viel wichtiger als die Laufzeitkosten für die Verwendung dieser erweiterten Abstraktionsschichten.

Und nur um sicher zu sein, die Frage tatsächlich zu beantworten: Ich denke, die "O-Kosten" von ArrayList sind dieselben wie für Arrays; wie in big-O von ArrayList wäre "x"n "; und Array wäre" y "n "; wobei x größer als y ist.

Aus konzeptioneller Sicht befinden sie sich also in derselben Klasse. Aber aus praktischer Sicht sind Listen teurer.