Java – der Unterschied zwischen einem Array und einer Sammlung

1. Array

1. Das Array in der Sprache Java ist ein Referenzdatentyp, es gehört nicht zum Basisdatentyp

2. Das Array kann sowohl Daten vom "Grunddatentyp" als auch Daten vom "Referenzdatentyp" speichern (Arrays können sowohl Grunddatentypen als auch Referenzdatentypen speichern, Grunddatentypen speichern Werte, Referenzdatentypen Der Datentyp speichert den Speicheradresswert )

3. Das Array hat eine entsprechende Klasse, die erstellt wird, wenn die JVM läuft, also gibt es keine entsprechende Klassendatei; (durch das Array

Erstellungssyntax int[] a = {1, 100, 10, 20}; Es ist ersichtlich, dass die Array-Klasse und der Quellcode nicht angezeigt werden können); Die übergeordnete Klasse des Arrays ist Object

4. Sobald das Array erstellt ist, wird in Java festgelegt, dass die Länge nicht geändert werden kann. (Array-Länge ist unveränderlich) 

5. Arrays in Java erfordern, dass die Elementtypen im Array vereinheitlicht werden. Beispielsweise kann ein Array vom Typ „int“ nur den Typ „int“ speichern, und ein benutzerdefiniertes Array vom Typ „Person“ kann nur den Typ „Person“ speichern

6. Wenn das Array im Speicher gespeichert wird, sind die Speicheradressen fortlaufend. Dies ist das Merkmal (Merkmal) von Array-Speicherelementen. Arrays sind eigentlich eine einfache Datenstruktur.

7. Alle Arrays verwenden die "Speicheradresse des ersten Kästchens" als Speicheradresse des gesamten Array-Objekts. (Die Speicheradresse des ersten Elements im Array wird als Speicheradresse des gesamten Array-Objekts verwendet.)

8. Jedes Element im Array hat einen Index, und der Index beginnt bei 0 und erhöht sich um 1. Der Index des letzten Elements ist: length - 1 Der Index ist sehr wichtig, denn wenn wir auf die Elemente im Array "zugreifen", müssen wir den Index verwenden

Einzelheiten finden Sie unter Java-Array

Zwei, Sammlung

1. Sammlung

    Liste, geerbt von Collection, wiederholbare und geordnete Objekte

    Festgelegte, vererbte Sammlung, nicht wiederholbare, unsortierte Objekte

    Map, ein Schlüssel-Wert-Paar, bietet eine Zuordnung von Schlüssel zu Wert. Der Schlüssel ist ungeordnet und eindeutig, der Wert ist ungeordnet und wiederholbar

2. Strukturdiagramm der Sammlungsklasse

3. Vergleich der Erfassungsmerkmale

Die Effizienz der Thread-Sicherheit ist relativ gering, Vector wurde eliminiert und stattdessen kann ArrayList verwendet werden. Hashtable wurde eliminiert und kann durch HashMap ersetzt werden.Wenn es sich um eine höchst nebenläufige Thread-sichere Implementierung handelt, wird ConcurrentHashMap empfohlen.

3. Der Unterschied zwischen einem Array und einer Sammlung

(1) Der Ursprung der Erhebung

Die Länge des Arrays ist festgelegt. Wenn die hinzugefügten Elemente die Länge des Arrays überschreiten, muss das Array neu definiert werden, was zu umständlich ist!

Daher stellt uns Java intern eine Collection-Klasse zur Verfügung, die beliebige Objekte speichern kann und deren Länge verändert werden kann.

nimmt zu, ab, wenn die Elemente abnehmen

(2) Unterschied

1. Arrays können sowohl Basisdatentypen als auch Referenzdatentypen speichern (Basisdatentypen speichern Werte, Referenznummern

Der Datentyp speichert den Adresswert)

Sammlungen können nur Referenzdatentypen (Objekte) speichern, und grundlegende Datentypen können auch in Sammlungen gespeichert werden, aber sie werden beim Speichern automatisch in Objekte verpackt (JDK1.5 neue Funktion).

2. Die Länge des Arrays ist festgelegt, und die Länge der Sammlung kann geändert werden

3. Beim Definieren eines Arrays müssen Sie den Typ des Array-Elements angeben.Standardmäßig sind alle Elemente in der Sammlung Object

4. Es ist unmöglich, die Anzahl der tatsächlich im Array gespeicherten Elemente direkt abzurufen. length wird verwendet, um die Länge des Arrays abzurufen, aber Sie können die Anzahl der tatsächlich in der Sammlung gespeicherten Elemente direkt durch size() erhalten.

5. Sammlungen haben mehrere Implementierungsmethoden und verschiedene anwendbare Gelegenheiten, wie List, Set, Map usw., im Gegensatz zu Arrays, die nur eine kontinuierliche Speicherplatzzuweisung verwenden

6. Sammlungen existieren in Form von Schnittstellen und Klassen und haben die Eigenschaften von Klassen wie Kapselung, Vererbung und Polymorphismus.Verschiedene komplexe Operationen können durch einfache Methoden- und Attributaufruferealisiert werden, was die Effizienz der Softwareentwicklung erheblich verbessert.

(3) Verwendung:

1. Wenn die Anzahl der Elemente fest ist, empfiehlt es sich, ein Array zu verwenden

2. Wenn die Anzahl der Elemente nicht festgelegt ist, wird empfohlen, ein Set zu verwenden

Guess you like

Origin blog.csdn.net/MinggeQingchun/article/details/121156297