Im Allgemeinen Sie sagen, dass wir von Array verschoben haben aus folgendem GrundUnterschied zwischen ArrayList.TrimToSize() und Array?
Arrays fixiert sind Größe zu Arraylist, wo als Array-Listen nicht.
Einer der Nachteile von Arraylist ist:
Wenn es erreicht es Kapazität ist, wird Arraylist 3/2 davon tatsächliche Größe. Daher kann der Speicher verschwendet werden, wenn der Speicherplatz nicht ordnungsgemäß genutzt wird. In diesem Szenario werden Arrays bevorzugt.
Wenn wir ArrayList.TrimSize() verwenden, wird das Array List eine einstimmige Wahl machen? Beseitigung des einzigen Vorteils (feste Größe) Array hat darüber?
"[...] ArrayList wird 3/2 seiner tatsächlichen Größe." - Keine Ahnung, woher du das hast, aber [das offizielle Javadoc von 'ArrayList'] (http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html) sagt, dass [ ...] Details der Wachstumspolitik sind nicht über die Tatsache hinaus spezifiziert, dass das Hinzufügen eines Elements konstante amortisierte Zeitkosten hat. " Der Unterschied besteht darin, dass eine "ArrayList" eine dynamische (d. H. Resizierbare) Datenstruktur ist, die einige handliche Schnittstellen (wie "Iterable" und "Collection") implementiert, während Arrays statisch sind. Die Methode, auf die Sie sich beziehen, heißt übrigens 'trimToSize()'. – Turing85
Nur um klar zu sein, eine ArrayList ist ein Array. So offensichtlich es klingt, viele merken das nicht. Das einzige, was eine ArrayList für Sie tut, ist im Grunde, Größenfehler mit VIELEN mehr Vergünstigungen zu verhindern, aber das ist ein Hauptgrund, warum Sie es verwenden. Alles, was eine ArrayList tun kann, wird mit einem Array durchgeführt, das automatisch skaliert wird. – Jahhein