Der Unterschied zwischen Java Array und ArrayList
1) Schneidere Erklärung:
Stellen Sie sich ArrayList als "Array" vor, das die Kapazität automatisch verstärkt ".
2) Array ([]): die effizienteste;
ArrayList: Kapazität kann dynamisch wachsen;
3) Vorschläge:
Basierend auf Effizienz und Typüberprüfung sollte Array so weit wie möglich verwendet werden.
Wenn Sie jedoch versuchen, allgemeinere Probleme zu lösen, kann die Funktionalität von Array zu begrenzt sein.
4) Alles in Java ist ein Objekt, und Array ist auch ein Objekt. Unabhängig vom Array -Typ, den Sie verwenden,
Der Array -Name selbst ist tatsächlich eine Referenz, die auf ein reales Objekt im Haufen zeigt.
Dieses Objekt kann automatisch über die "Array -Initialisierungssyntax" oder manuell in einem neuen Ausdruck generiert werden.
5) Array kann als Funktionsrückgabewert verwendet werden, da es selbst die Referenz des Objekts ist.
6) Das Objektarray ist fast genau das gleiche wie das verwendete Grundtyp -Array.
Zum Beispiel:
String [] Staff = New String [100];
7) Was der Container enthält, ist tatsächlich eine Referenz, die auf das Objekt zeigt, damit jeder Typ gespeichert werden kann. Dies enthält natürlich nicht den Basistyp, da der Basistyp nicht von Klassen erbt.
8) Angesichts der Array können wir das Array des Grundtypwerts (z. Die Wrapper -Klasse ist jedoch möglicherweise nicht einfach zu bedienen.
Wenn sich Ihr Betriebsobjekt vom Grundtyp befindet und die Kapazität automatisch verstärken muss, wenn nicht genügend Platz vorliegt, ist das Array nicht geeignet, sodass Sie einen Deckentyp -Container verwenden müssen.
9) In einigen Fällen können Containerklassen auch dann korrekt funktionieren, wenn sie sich nicht in ihren ursprünglichen Typ verwandelt haben. Es gibt eine Situation, die besonders etwas Besonderes ist: Der Compiler unterstützt die Streicherklasse zusätzliche Unterstützung, damit sie reibungslos funktioniert.
10) Einige grundlegende Operationen bei Arrays wie Sortieren, Suchen und Vergleich sind sehr häufig. Daher wird die Arrays -Klasse in Java bereitgestellt, um diese Operationen zu unterstützen: sort (), binarysearch (), equals (), fill (), ASList ().
Die Arrays -Klasse liefert jedoch keine Löschmethode, und in ArrayList gibt es eine Methode für die Entfernung ().
11) Die Verwendung von ArrayList ist ebenfalls sehr einfach: Generieren Sie eine ArrayList, verwenden Sie add (), um Objekte zu platzieren und GET (i) zu verwenden, um den Indexwert zu entsprechen, um sie zu entfernen. All dies entspricht genau dem Gebrauch von Array, aber es gibt nur weniger [].
2. Referenzmaterial:
1) Effizienz:
Die Array -Expansion ist ein Faktor, der einen größeren Einfluss auf die Effizienz von Arraylist hat.
Wenn Methoden wie AddRange, Insert und Insertrange ausgeführt werden, prüfen sie, ob die Kapazität des internen Arrays unzureichend ist.
ArrayList ist eine komplexe Version von Array
ArrayList umfasst ein Objekt-Array.
2) Typidentifikation:
Wenn ArrayList ein Objekt speichert, werden die Typinformationen verworfen und alle Objekte als Objekt blockiert.
Der Unterschied zwischen ArrayList und Array ist hauptsächlich auf die Effizienz der dynamischen Kapazitätserhöhung zurückzuführen.
3) ArrayList kann jedes Objekt speichern, z. B. Zeichenfolge usw.
Vielen Dank für das Lesen, ich hoffe, es kann Ihnen helfen.