Heim  >  Artikel  >  Java  >  Detaillierte Erläuterung der Objektunterbringung in der Programmiersprache Java

Detaillierte Erläuterung der Objektunterbringung in der Programmiersprache Java

黄舟
黄舟Original
2017-09-19 10:05:36887Durchsuche

Dieser Artikel bietet hauptsächlich eine allgemeine Einführung in die Unterbringung von Objekten in Java-Programmierideen. Er hat einen gewissen Referenzwert und Freunde in Not können mehr darüber erfahren.

Wenn ein Programm nur eine feste Anzahl von Objekten enthält und deren Existenzzeit bekannt ist, dann ist das Programm recht einfach.

Array

Es gibt viele Möglichkeiten, Objekte unterzubringen. Es weist hauptsächlich die folgenden zwei Eigenschaften auf Typ. Für Java ist ein Array die effizienteste Möglichkeit, eine Reihe von Objekten (eigentlich Handles von Objekten) zu speichern und darauf zuzugreifen. Das Array ist eigentlich eine einfache lineare Sequenz, daher ist die Zugriffsgeschwindigkeit sehr hoch, es gibt jedoch auch einige Einschränkungen. Beispielsweise ist die Größe des Arrays fest und kann nicht innerhalb der „Existenzzeit“ geändert werden.
Bei Arrays, die aus Basisdatentypen bestehen, ähnelt ihr Operationstyp dem von Objektarrays. Der Unterschied besteht darin, dass ersteres nicht das Handle des Objekts, sondern den tatsächlichen Wert speichert.

Sammlung

Beim Programmieren weiß man meist nicht, wie viele Objekte gespeichert werden müssen, und manchmal möchte man sogar mehr verwenden Um solche Probleme zu lösen, bietet Java mehrere „Sammlungsklassen“: Vector (Vektor), BitSet (Bitsatz), Stack (Stack) und HashTable (Hash-Tabelle).

Nachteile von Sammlungen: Typinformationen gehen verloren. Was es enthält, ist eigentlich ein Handle für ein Objekt vom Typ Object.

Enumerator (Iterator)

Nachdem Sie das Objekt in einer Sammlung gespeichert und dann darauf zugegriffen haben, müssen Sie den genauen Typ des Objekts kennen bitte vorab bei der Abholung anmelden, ansonsten kann es bei der Nutzung zu Ausnahmen kommen. Und Iteratoren können dieses Problem lösen. Ein Iterator ist ein Objekt, dessen Zweck darin besteht, eine Sequenz von Objekten zu durchlaufen und jedes Objekt in dieser Sequenz auszuwählen, ohne den Client-Programmierer über die zugrunde liegende Struktur dieser Sequenz zu informieren oder darauf zu achten.

Enumeration in Java ist ein typischer Iterator, der hauptsächlich für die folgenden Aufgaben verwendet wird:

(1) Verwenden Sie eine Methode namens Elements, um die Sammlung für uns abzufragen. Bietet eine Enumeration, die das erste Element in der Sequenz zurückgibt, wenn NextElements zum ersten Mal aufgerufen wird.

(2) Verwenden Sie NextElements, um das nächste Objekt abzurufen.

(3) Verwenden Sie HasMoreElements, um zu prüfen, ob weitere Objekte vorhanden sind.

Arten von Sammlungen:

1. Vector

Die Vector-Klasse kann ein erweiterbares Array von Objekten implementieren . Wie ein Array enthält es Komponenten, auf die über ganzzahlige Indizes zugegriffen werden kann. Die Größe des Vektors kann jedoch je nach Bedarf vergrößert oder verkleinert werden, um Elemente aufzunehmen, die nach der Erstellung des Vektors hinzugefügt oder entfernt werden.

2. BitSet

BitSet ist eigentlich ein Vektor, der aus „Binärbits“ besteht. Wenn Sie eine große Menge an „Ein-Aus“-Informationen effizient speichern möchten, sollten Sie BitSet verwenden. Jede Komponente des Bitsatzes hat einen booleschen Wert. Indizieren Sie die Bits des BitSets als nichtnegative ganze Zahlen. Jedes indizierte Bit kann getestet, gesetzt oder gelöscht werden. Sie können ein BitSet verwenden, um den Inhalt eines anderen BitSets mithilfe logischer UND-, logischer ODER- und logischer XOR-Operationen zu ändern. Standardmäßig ist der Anfangswert aller Bits im Satz falsch.

3. Stack

Stack wird auch als „Last-In-First-Out“-Sammlung bezeichnet. Die Stack-Klasse in Java erbt von der Vector-Klasse, die die Vector-Klasse um fünf Operationen erweitert, die es ermöglichen, Vektoren als Stapel zu behandeln. Es bietet die üblichen Push- und Pop-Operationen sowie die Peek-Methode, um den Stapelscheitelpunkt zu ermitteln, die Empty-Methode, um zu testen, ob der Stapel leer ist, und die Suchmethode, um ein Element im Stapel zu finden und den Abstand zur Oberseite zu bestimmen des Stapels.

4. HashTable

Hash-Tabelle ist eine wichtige Speichermethode und eine gängige Abrufmethode. Die Grundidee besteht darin, den Wert des relationalen Codes als unabhängige Variable zu verwenden, den entsprechenden Funktionswert über eine bestimmte funktionale Beziehung zu berechnen, diesen Wert als Speicheradresse des Knotens zu interpretieren und den Knoten in der entsprechenden Speichereinheit zu speichern berechnete Speicheradresse. Bei der Suche wird die Suchschlüsselmethode verwendet. Hash-Tabellen verfügen jetzt über einen vollständigen Satz von Algorithmen zum Einfügen, Löschen und zur Konfliktlösung. In Java werden Hash-Tabellen zum Speichern von Objekten zum schnellen Abrufen verwendet.

Zusammenfassung

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Objektunterbringung in der Programmiersprache Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn