Warum ist es wichtig, Arrays zu kennen, wenn wir ArrayLists haben? [geschlossen]

8

Ich bin neugierig, warum Arrays verwendet werden, wenn Sie stattdessen eine ArrayLists verwenden könnten? Wäre es nicht immer besser, eine ArrayList zu verwenden?

    
ngc 06.08.2013, 16:12
quelle

6 Antworten

6

Sehen Sie sich diesen Vergleich an .

Wie Sie sehen können, gibt es wichtige Unterschiede zwischen den beiden Konstrukten. Sie finden APIs, die das eine oder das andere (oder beide) verwenden, und Sie müssen die Vor- / Nachteile und die funktionalen Unterschiede zwischen den beiden verstehen.

Ein besonderer Unterschied besteht darin, dass ein systemeigenes Array Grundelemente ohne die Unzulänglichkeiten beim Boxing / Unboxing speichern kann. Das ist wichtig, wenn Sie große Arrays haben, die Datenströme / Datensätze darstellen.

Beachten Sie auch, dass eine ArrayList nicht Kovariante ist. Das heißt, ein Integer[] ist ein Number[] , aber ein ArrayList<Integer> ist kein ArrayList<Number> . Weitere Informationen finden Sie hier .

    
Brian Agnew 06.08.2013, 16:14
quelle
4

Arrays und ArrayList s dienen unterschiedlichen, wenn auch manchmal überlappenden Zwecken.

Aber abgesehen davon besteht die einfache Tatsache darin, dass Sie nicht in einem Vakuum kodieren, und deshalb werden Sie APIs verwenden, die Arrays beinhalten, sodass das Erlernen von ihnen nicht optional ist. Arrays sind eine absolut grundlegende Struktur in der Informatik.

    
T.J. Crowder 06.08.2013 16:14
quelle
4

Es gibt viele Dinge, die Sie mit Arrays tun können, die Sie mit ArrayList s nicht ausführen können. Zum Beispiel

  1. Liest mehrere Bytes oder Code-Einheiten aus einer Datei mit byte[] oder char[]
  2. Rufen Sie eine native numerische oder Grafikbibliothek auf, die Vektoren oder Matrizen behandelt, die als float[] s oder double[] s
  3. dargestellt werden

Sie können andere nicht-primitive Array-Abstraktionen anstelle von ArrayList verwenden, aber manchmal ist die beste Möglichkeit, einen zusammenhängenden Speicherbereich in numerische Einheiten zu unterteilen, ein Array.

    
Mike Samuel 06.08.2013 16:20
quelle
2

Es ist sehr wichtig, eine gute Grundlage in den Programmgrundlagen zu haben. Diese Grundlagen umfassen Dinge wie Variablentypen, Funktionen, Argumente, Arrays und so weiter. Ohne eine richtige Grundlage kann alles, was Sie sonst noch lernen, zusammenbrechen, da Sie keine richtige Grundlage haben. Mit anderen Worten, sagen wir, Sie möchten eine Sprache lernen, könnten Sie beginnen, ganze Sätze durch Auswendiglernen zu lernen, aber es ist schön, einige Wörter von der Zunge rollen zu lassen und zu beginnen, zu verdauen und zu setzen, wie Sie Sätze aus Worten machen können statt Brute zwingt es und merkt sich alle Sätze, die du brauchst.

    
StevenTsooo 06.08.2013 16:16
quelle
2

Es ist wichtig für Sie, Arrays zu lernen, wenn Sie besser verstehen wollen, was "hinter den Kulissen" passiert, oder wenn Sie eine niedrigere Programmiersprache wie C oder Assembler lernen wollen.

Darf ich fragen, wo Sie Java lernen? Ist das für Schule / Hochschule? Wenn ja, versuchen Sie bitte, etwas mit der Arbeit mit Arrays zu tun, weil sie in Kursen wie Datenstrukturen verwendet werden und insbesondere dann, wenn Sie eine Sprache verwenden, die kein ArrayList-Äquivalent hat.

Lerne alles darüber. Zu verstehen, was passiert, ist lohnend.

    
alexk 06.08.2013 16:18
quelle
0
%Vor%     
Zo72 06.08.2013 16:22
quelle

Tags und Links