25.10.2021

Kostenloser Download Mobile Yandex.Maps für Java. Java-Anwendungen Karten für Mobiltelefone Offline-Karten für den Yandex-Navigator Java herunterladen



Programm für Smartphones und Telefone mit integriertem GPS. Neuer Yandex-Dienst, mit dem Sie mit Ihrem Telefon durch die Stadt navigieren können. Karten für Mobiltelefone haben die gleiche Funktionalität wie normale Yandex.Maps. Sie können Häuser, Straßen und andere Objekte finden, Satellitenbilder anzeigen, Informationen über Staus abrufen. Außerdem können Sie Ihren Standort und Ihre Bewegungsrichtung bestimmen (sofern Sie einen GPS-Empfänger haben). Um mit mobilen Karten zu arbeiten, müssen Sie die Anwendung herunterladen und auf Ihrem mit dem Internet (GPRS) verbundenen Telefon installieren.

Yandex-Karten- ein Programm zur GPS-Navigation mit dem gleichnamigen Dienst von Yandex. Sie müssen sich keine Sorgen um die Verfügbarkeit der erforderlichen Karten machen, Yandex.Maps lädt sie automatisch für das gewünschte Gebiet. Das Programm informiert Sie über Staus, Unfallorte und hilft Ihnen, viele Institutionen und Organisationen in Ihrer Nähe zu finden.

Damit das Programm funktioniert, ist eine verbundene GPRS-Verbindung erforderlich!

Hauptmerkmale von Yandex.Maps

Zeigt Ihren Standort und die Fahrtrichtung an (sofern ein GPS-Empfänger vorhanden ist).
Aufbau der optimalen Route in Moskau und der Region Moskau unter Berücksichtigung von Staus.
Detaillierte Karten von mehr als 130 Städten in Russland, der Ukraine und anderen Ländern, mit Straßen und Hausnummern.
Die Möglichkeit, Satellitenbilder der Umgebung anzuzeigen.
Bietet Informationen zu Staus.
Kann die ungefähre Position mithilfe von Mobilfunkbetreiberstationen oder Wi-Fi-Hotspots in Ihrer Nähe bestimmen.
Zeigt die Einbauorte von Verkehrspolizeikameras, Baustellen, Verkehrsunfällen und anderen für den Fahrer nützlichen Punkten an.
Mit Yandex.Maps finden Sie ganz einfach Cafés, Banken, Hotels, Cafés, Restaurants und viele andere Organisationen am richtigen Ort.
Es ist möglich, die Route zu speichern, der aufgezeichnete Track kann in den Yandex.Maps-Dienst hochgeladen werden.
Zusammen mit anderen Benutzern können Sie an der Erstellung einer Straßenkarte teilnehmen, Sie können auch Unfallstellen und Probleme auf der Straße melden, indem Sie der Karte Beschriftungen hinzufügen.
Das Vorhandensein eines "Nacht"-Betriebsmodus für die dunkle Tageszeit.
Die Möglichkeit, in den Vollbildmodus zu wechseln.
Offline arbeiten, ohne Netzwerkzugriff.

Yandex.Verkehr

Gelbe und rote Bereiche zeigen Staus und Staus, bei denen die durchschnittliche Fahrzeuggeschwindigkeit weniger als 20 km/h beträgt. Grün - freie Bereiche, in denen sich Autos mit einer Durchschnittsgeschwindigkeit von 30-40 km / h bewegen. Je mehr Teilnehmer am System sind, desto genauer sind die bereitgestellten Informationen. Und jeder kann seine Spuren auf der Karte hinterlassen.

Arbeiten in Abwesenheit und Zugang zum Internet

Stellen Sie sicher, dass die Anwendung über Lese-/Schreibberechtigungen von der Festplatte verfügt und dass das Karten-Caching in den Einstellungen aktiviert ist.
Laden Sie ein Archiv mit einer Karte der gewünschten Region herunter.
Suchen Sie den /default-Ordner im Archiv.
Verschieben Sie den Inhalt des Ordners / default in den Ordner / yandexmaps / (LANGUAGE CODE) auf dem Mobilgerät (zum Beispiel / yandexmaps / ru-RU oder / yandexmaps / uk-UA, je nach der in den Einstellungen angegebenen Sprache).
Der Dienst ist so aufgebaut, dass Nutzer selbst Informationen über Staus geben. Installieren Sie Yandex.Maps, aktivieren Sie die Option "Stau melden" und Sie sind ein vollwertiges Mitglied des Dienstes. Die Koordinaten Ihres Geräts werden alle zwei Minuten an den Server übertragen, dort analysiert und basierend auf den Daten vieler Teilnehmer erstellt das System eine Straßenkarte.

Gelbe und rote Bereiche zeigen Staus und Staus, bei denen die durchschnittliche Fahrzeuggeschwindigkeit weniger als 20 km/h beträgt. Grün - freie Bereiche, in denen sich Autos mit einer Durchschnittsgeschwindigkeit von 30-40 km / h bewegen. Je mehr Teilnehmer am System sind, desto genauer sind die bereitgestellten Informationen. Und jeder kann seine Spuren auf der Karte hinterlassen.

Herunterladen:


Yandex-Karten- ein Programm zur GPS-Navigation mit dem gleichnamigen Dienst von Yandex. Sie müssen sich keine Sorgen um die Verfügbarkeit der erforderlichen Karten machen, Yandex.Maps lädt sie automatisch für das gewünschte Gebiet. Das Programm informiert Sie über Staus, Unfallorte und hilft Ihnen, viele Institutionen und Organisationen in Ihrer Nähe zu finden.

Damit das Programm funktioniert, ist eine verbundene GPRS-Verbindung erforderlich!

Hauptmerkmale von Yandex.Maps

  • Zeigt Ihren Standort und die Fahrtrichtung an (sofern ein GPS-Empfänger vorhanden ist).
  • Aufbau der optimalen Route in Moskau und der Region Moskau unter Berücksichtigung von Staus.
  • Detaillierte Karten von mehr als 130 Städten in Russland, der Ukraine und anderen Ländern, mit Straßen und Hausnummern.
  • Die Möglichkeit, Satellitenbilder der Umgebung anzuzeigen.
  • Bietet Informationen zu Staus.
  • Kann die ungefähre Position mithilfe von Mobilfunkbetreiberstationen oder Wi-Fi-Hotspots in Ihrer Nähe bestimmen.
  • Zeigt die Einbauorte von Verkehrspolizeikameras, Baustellen, Verkehrsunfällen und anderen für den Fahrer nützlichen Punkten an.
  • Mit Yandex.Maps finden Sie ganz einfach Cafés, Banken, Hotels, Cafés, Restaurants und viele andere Organisationen am richtigen Ort.
  • Es ist möglich, die Route zu speichern, der aufgezeichnete Track kann in den Yandex.Maps-Dienst hochgeladen werden.
  • Zusammen mit anderen Benutzern können Sie an der Erstellung einer Straßenkarte teilnehmen, Sie können auch Unfallstellen und Probleme auf der Straße melden, indem Sie der Karte Beschriftungen hinzufügen.
  • Das Vorhandensein eines "Nacht"-Betriebsmodus für die dunkle Tageszeit.
  • Die Möglichkeit, in den Vollbildmodus zu wechseln.
  • Offline arbeiten, ohne Netzwerkzugriff.

Yandex.Verkehr

Gelbe und rote Bereiche zeigen Staus und Staus, bei denen die durchschnittliche Fahrzeuggeschwindigkeit weniger als 20 km/h beträgt. Grün - freie Bereiche, in denen sich Autos mit einer Durchschnittsgeschwindigkeit von 30-40 km / h bewegen. Je mehr Teilnehmer am System sind, desto genauer sind die bereitgestellten Informationen. Und jeder kann seine Spuren auf der Karte hinterlassen.

Arbeiten in Abwesenheit und Zugang zum Internet

  1. Stellen Sie sicher, dass die Anwendung über Lese-/Schreibberechtigungen von der Festplatte verfügt und dass das Karten-Caching in den Einstellungen aktiviert ist.
  2. Laden Sie ein Archiv mit einer Karte der gewünschten Region herunter.
  3. Suchen Sie den /default-Ordner im Archiv.
  4. Verschieben Sie den Inhalt des /default-Ordners in den Ordner / yandexmaps / (SPRACHENCODE) auf einem mobilen Gerät (zum Beispiel / yandexmaps / ru-RU oder / yandexmaps / uk-UA, abhängig von der in den Einstellungen angegebenen Sprache).

Der Dienst ist so aufgebaut, dass Nutzer selbst Informationen über Staus geben. Installieren Sie Yandex.Maps, aktivieren Sie die Option "Stau melden" und Sie sind ein vollwertiges Mitglied des Dienstes. Die Koordinaten Ihres Geräts werden alle zwei Minuten an den Server übertragen, dort analysiert und basierend auf den Daten vieler Teilnehmer erstellt das System eine Straßenkarte.

Java-Insel auf der Karte von Indonesien

Java Inselkarte detailliert

Touristische Karte von Zentral-Java

Touristische Karte von West-Java

Touristische Karte von Ost-Java

Java-Karte

Java auf der Weltkarte liegt in der Javasee, die seine Nordküste umspült. Von Süden hat die Insel Zugang zum Indischen Ozean. Wie die geografische Karte von Java zeigen wird, beträgt die Länge der Insel von West nach Ost fast tausend Kilometer. Sie ist die größte Insel Indonesiens und beherbergt die Hauptstadt des Landes, Jakarta.

Jede Karte von Java zeigt, dass etwa ein Drittel seines Territoriums von Regenwäldern und Dschungeln besetzt ist. Die Insel ist administrativ in sechs Regionen unterteilt. Die detaillierte Java-Karte enthält Provinzen wie die Bezirke Banten, West-Java, Zentral-Java, Ost-Java, Jakarta und Yogyakarta.

Naturattraktionen werden auf der Insel durch Naturschutzgebiete und zahlreiche Vulkane repräsentiert. Eine Karte von Java in russischer Sprache hilft Ihnen, die berühmtesten Hügel von Krakatau und Mont Brom zu finden. Es ist bemerkenswert, dass Krkatau, das sich nicht auf der Insel selbst, sondern zwischen ihr und Sumatra befindet, das letzte Mal im Jahr 2008 ausbrach.

Eine Karte von Java mit Sehenswürdigkeiten von Arrivo hilft Ihnen, die beste Route zusammenzustellen und alle interessanten Orte der Insel zu finden.

Ein Set ist eine Sammlung von Daten, in der Sie schnell ein vorhandenes Element finden können. Dazu benötigen Sie jedoch eine exakte Kopie des erforderlichen Elements. Diese Art der Suche ist nicht sehr verbreitet, da meist nur einige Informationen (Schlüssel) bekannt sind, mit denen das entsprechende Element gefunden werden kann. Zu diesem Zweck gibt es eine Datenstruktur, die die Anzeige unterstützt, die auch als Karte bezeichnet wird. Die Karte speichert Schlüssel-Wert-Paare. Jeder Wert kann anhand seines Schlüssels gefunden werden. Beispielsweise kann eine Tabelle Mitarbeiterinformationsdatensätze enthalten, deren Schlüssel Mitarbeiter-IDs sind und die Werte Mitarbeiterobjekte sind.

Kartenschnittstelle (java.util.Map )

  1. Vget (KeyK)- Gibt ein Objekt zurück, das dem angegebenen Schlüssel entspricht, oder null, wenn die Map den angegebenen Schlüssel nicht enthält. Der Schlüssel kann null sein.
  2. Vput (KeyK, ValueV)- Fügt der Karte Schlüssel und Wert hinzu. Wenn ein solcher Schlüssel bereits existiert, ersetzt das neue Objekt das vorherige, das diesem Schlüssel zugeordnet ist. Diese Methode gibt den vorherigen Wert des Objekts oder null zurück, wenn der Schlüssel zuvor nicht in der Map enthalten war. Der Schlüssel kann null sein, aber der Wert darf nicht null sein.
  3. voidputAll (KarteEinträge)- Fügt alle Elemente der gegebenen Karte zur aktuellen hinzu.
  4. booleancontainsKey (Objektschlüssel)- Gibt true zurück, wenn sich der angegebene Schlüssel in der Map befindet.
  5. booleancontainsValue (Objektwert)- Gibt true zurück, wenn die Map den angegebenen Wert enthält.
  6. Satz > EintragSet ()- Gibt die Darstellung der Karte als Menge von Map.Entry-Objekten zurück, d.h. Schlüssel-Wert-Paare. Sie können Elemente aus dieser Ansicht entfernen und sie werden aus der Karte entfernt, Sie können sie jedoch nicht hinzufügen.
  7. Satz Schlüsselsatz ()- Gibt die Kartenansicht als Satz aller Schlüssel zurück. Sie können Elemente aus dieser Ansicht entfernen, und die Schlüssel und ihre entsprechenden Werte werden automatisch aus der Karte entfernt, Sie können jedoch keine neuen Elemente hinzufügen.
  8. Sammlung Werte ()- Gibt die Kartenansicht als Satz aller Werte zurück. Sie können Elemente aus dieser Ansicht entfernen, und die Werte und ihre entsprechenden Schlüssel werden automatisch aus der Karte entfernt, Sie können jedoch keine neuen Elemente hinzufügen.

Grundlegende Kartenimplementierungen

Die Java-Bibliothek bietet zwei Hauptimplementierungen von Maps: die HashMap-Hash-Map und die TreeMap-Baumkarte. Beide Klassen implementieren die Map-Schnittstelle.
Die Schlüssel werden zufällig in einer Hash-Map und in strenger Reihenfolge in einer Tree-Map angeordnet. Die Hash-Funktion oder Vergleichsfunktion wird nur für Schlüssel verwendet, und die diesen Schlüsseln entsprechenden Werte werden nicht gehasht oder verglichen.
Welche Karte sollten Sie wählen? Wie bei Sets ist Hashing etwas schneller, daher wird empfohlen, es dort zu verwenden, wo die Reihenfolge der Schlüssel keine Rolle spielt.

Im Folgenden wird gezeigt, wie eine Hash-Map erstellt wird, um Mitarbeiterinformationen zu speichern. Kartenpersonal = neue HashMap< String, Employee>(); // HashMap implementiert die Map Employee-Schnittstelle harry = new Employee („Harry Hacker“); staff.put ("987-98-9996", Harry);

Beim Hinzufügen eines Objekts zur Karte muss auch sein Schlüssel angegeben werden. In diesem Fall ist der Schlüssel ein String und der entsprechende Wert das Employee-Objekt.
Um auf ein Objekt zu verweisen, müssen Sie einen Schlüssel verwenden.

Zeichenfolge s = „987-98-9996“; Mitarbeiter e = staff.get (s); // liest Datensatz Harry

Wenn keine Daten vorhanden sind, die dem angegebenen Schlüssel im Dataset entsprechen, gibt die Methode get() null zurück. Schlüssel müssen eindeutig sein: Sie können nicht zwei Werte mit demselben Schlüssel speichern. Wenn Sie die Methode put() zweimal mit demselben Schlüssel aufrufen, ersetzt der zweite Wert einfach den ersten. Darüber hinaus gibt die Methode put() den vorherigen Wert zurück, der mit dem angegebenen Schlüssel gespeichert wurde.

Die Methode remove() entfernt ein Element aus der Map, und die Methode size() gibt die Anzahl der Elemente in der Map zurück.

In der Dataset-Architektur wird die Karte selbst nicht als Dataset betrachtet. (In anderen Datenstrukturarchitekturen wird eine Map als eine Menge von Paaren oder Werten betrachtet, die durch Schlüssel indiziert sind.) Die Java-Bibliothek bietet jedoch die Verwendung einer Map-Ansicht, die die Collection-Schnittstelle oder eine ihrer untergeordneten Schnittstellen implementiert.

Es gibt drei Arten von Darstellungen: einen Satz von Schlüsseln, einen Satz von Werten (der kein Satz ist) oder einen Satz von Schlüssel-Wert-Paaren. Schlüssel und Schlüssel-Wert-Paare bilden eine Menge, da in einer Map nur eine eindeutige Instanz eines Schlüsselobjekts vorhanden sein kann. Die unten aufgeführten Methoden geben diese drei Arten von Kartenansichten zurück.

Set keySet () Sammlungswerte () Set> entrySet ()

(Die Mitglieder des letzten Satzes von Schlüssel-Wert-Paaren sind Objekte der inneren Klasse Map.Entry) Beachten Sie, dass der Satz von Schlüsseln kein HashSet oder TreeSet ist, sondern ein Objekt einer anderen Klasse ist, die die Set-Schnittstelle implementiert Set-Schnittstelle erweitert die Collection-Schnittstelle, sodass Sie die Methode keySet() verwenden können.
Sie können beispielsweise über alle Schlüssel einer Karte iterieren:

Schlüssel setzen = map.keySet (); for (String-Taste: Tasten) (// Tastenaktionen)

Wenn Sie gleichzeitig Schlüssel und Werte anzeigen möchten, können Sie das Nachschlagen von Werten vermeiden, indem Sie alle Datensätze auflisten. Dazu können Sie den folgenden Codeausschnitt verwenden:

For (Map.Entry Eintrag: staff.entrySet ()) (String key = entry.getKey (); Employee value = entry.getValue (); // Aktionen mit Schlüssel und Wert)

Spezielle Kartenimplementierungen

Hash-Karten mit laxem Caching

Die WeakHashMap-Klasse von Hash-Maps mit laxem Caching wurde entwickelt, um ein interessantes Problem zu lösen. Was passiert mit einem Wert, dessen Schlüssel im Programm nicht mehr verwendet wird, zB weil der letzte Verweis auf diesen Schlüssel verschwunden ist? In diesem Fall ist der Zugriff auf das Wertobjekt nicht mehr möglich. Und da dieser Schlüssel nirgendwo mehr im Programm enthalten ist, gibt es keine Möglichkeit, sein Schlüssel-Wert-Paar aus der Map zu entfernen. Aber warum kann es nicht vom Garbage-Collection-System entfernt werden, das für die Entfernung ungenutzter Objekte verantwortlich ist?

Leider ist es nicht so einfach. Ein Garbage Collector im Speicherverwaltungssystem verfolgt Live-Objekte. Während das Kartenobjekt aktiv ist, sind auch alle Kartenzellen aktiv. Daher muss das Programm selbst dafür sorgen, dass nicht verwendete Werte aus aktiven Karten entfernt werden. Dies ist der Zweck der WeakHashMap-Klasse.Diese Datenstruktur interagiert mit dem Garbage-Collection-System, um die Schlüssel-Wert-Paare zu entfernen, für die die einzige Schlüsselreferenz ein Hash-Tabelleneintrag ist.

So funktioniert dieser Mechanismus. Die WeakHashMap-Klasse verwendet schwache Referenzen zum Speichern von Schlüsseln. Das WeakReference-Objekt enthält eine Referenz auf ein anderes Objekt, d.h. in diesem Fall der Hash-Tabellenschlüssel. Wenn die Garbage Collection feststellt, dass keine Verweise auf ein Objekt vorhanden sind, wird dieses Objekt normalerweise verworfen. Und wenn die einzige Objektreferenz vom Typ WeakReference ist, wird diese laxe Referenz in die Warteschlange gestellt. Es prüft periodisch, ob neue Links in der Queue vorhanden sind, da dieser Schlüssel dann nicht mehr verwendet wird und sein Objekt gelöscht werden kann. Somit entfernt die WeakHashMap-Klasse den diesem Schlüssel entsprechenden Wert.

Verknüpfte Hash-Karten

In JDK 1.4 wurden die Klassen LinkedHashSet und LinkedHashMap vorgeschlagen, die sich an die Reihenfolge erinnern, in der neue Elemente in ein Dataset eingefügt werden. Somit sieht die Reihenfolge der Elemente in der Tabelle nicht mehr zufällig aus. Wenn der Tabelle Datensätze hinzugefügt werden, bilden sie eine doppelt verknüpfte Liste.
Betrachten Sie zum Beispiel eine Karte:

Kartenpersonal = neue LinkedHashMap (); Staff.put („144-25-5464“, neue Mitarbeiterin („Amy Lee“)); Staff.put („567-24-2546“, neuer Mitarbeiter („Harry Hacker“)); Staff.put („157-62-7935“, neuer Mitarbeiter („Gary Cooper“)); Staff.put („456-62-5527“, neue Mitarbeiterin („Francesca Cruz“));
Der staff.ketSet().Iterator() listet seine Schlüssel in der folgenden Reihenfolge auf: 144-25-5464 567-24-2546 157-62-7935 456-62-5527
Und der staff.values().Iterator() wird seine Werte wie folgt aufzählen: Amy Lee Harry Hacker Gary Cooper Francesca Cruz

Eine kohärente Hashmap kann sich die Zugriffsreihenfolge merken und beim Iterieren über die Elemente berücksichtigen. Bei jedem Aufruf von get() oder put() wird der berührte Eintrag von seiner Position entfernt und an das Ende der verknüpften Liste verschoben. Diese Operationen ändern die Struktur der verknüpften Liste, jedoch nicht die Zellen der Hash-Tabelle. Der Datensatz verbleibt in der Zelle, die dem Hash-Code des Schlüssels entspricht. Um eine solche Hash-Map zu erstellen, müssen Sie den folgenden Ausdruck verwenden:

LinkedHashMap (initialCapacity, loadFactor, true)

Die Kenntnis der Zugriffsreihenfolge ist beispielsweise erforderlich, um einen "zuletzt verwendeten" Cache zu erstellen. Beispielsweise müssen Sie möglicherweise die am häufigsten verwendeten Datensätze im Speicher speichern und diejenigen, mit denen Sie selten arbeiten müssen, aus der Datenbank abrufen. Wenn Sie in der Tabelle keinen Datensatz finden und die Tabelle bereits voll ist, können Sie mit dem Iterator die ersten paar Elemente löschen. Diese Elemente werden seltener verwendet als andere.

Hashkarten mit individuellem Hashing

JDK 1.4 fügt eine weitere benutzerdefinierte Klasse hinzu, IdentityHashMap, die benutzerdefiniertes Hashing durchführt. Die Hashcodes der darin enthaltenen Schlüssel werden nicht von der Methode hashCode(), sondern von der Methode System.identityHashCode() berechnet, die den Hashcode an der Adresse des Objekts im Speicher berechnet. Darüber hinaus verwendet die IdentityHashMap-Klasse den ==-Operator anstelle der equals()-Methode, um Objekte zu vergleichen.

Mit anderen Worten, verschiedene Objekte werden als voneinander verschieden angesehen, selbst wenn ihr Inhalt gleich ist. Diese Klasse ist nützlich, um Algorithmen zum Durchlaufen von Objekten (z. B. für die Serialisierung) zu implementieren, bei denen Sie sogar die Objekte verfolgen müssen, die bereits vom Iterator durchlaufen wurden.

Verwenden von Sammlungen in Map

Nicht veränderbare Ansichten

Die Collections-Klasse enthält Methoden, die unveränderbare Ansichten von Datasets erstellen. Diese Ansichten werden verwendet, um den vorhandenen Satz zu überprüfen, der in der Phase des Programmbetriebs durchgeführt wird. Wenn versucht wird, einen Satz zu ändern, wird eine Ausnahme ausgelöst und der Datensatz bleibt unverändert.
Um nicht veränderbare Kartenansichten zu erhalten, werden die folgenden Methoden verwendet:

Collections.unmodifiableMap Collections.unmodifiableSortedMap

Angenommen, Sie möchten, dass ein Teil Ihres Codes den Inhalt eines Datasets anzeigt, aber nicht berührt. Gehen Sie dazu folgendermaßen vor:

Karte Mitarbeiter = neue HashMap (); ... lookAt (neue Collections.unmodifiableMap (Staff));

Die Methode Collections.unmodifiableMap gibt eine Instanz der Klasse zurück, die die Map-Schnittstelle implementiert. Der Accessor dieser Klasse ruft Werte aus dem Staff-Set ab.Natürlich kann die Methode lookAt() alle Methoden aufrufen, die in der Map-Schnittstelle deklariert sind. Alle ändernden Methoden wurden jedoch neu definiert, sodass sie eine UnsupportedOperationException auslösen, anstatt auf den Basissatz zuzugreifen.

Eine nicht ändernde Ansicht macht das Dataset selbst nicht unveränderlich. Sie können das Set über einen regulären Link (in unserem Fall Personal) ändern, während die Methoden, die die Elemente des Sets ändern, verfügbar bleiben.

Synchronisierte Ansichten

Wenn Sie aus mehreren Streams auf ein Dataset zugreifen, müssen Sie darauf achten, dass die Informationen im Dataset nicht beschädigt werden. Dies geschieht zwangsläufig, wenn beispielsweise ein Thread versucht, ein Element in die Hash-Tabelle aufzunehmen, während der andere versucht, es neu zu generieren.

Statt Thread-sichere Dataset-Klassen zu implementieren, haben sich die Bibliotheksentwickler dafür entschieden, die View-Engine zu verwenden. Beispielsweise kann die statische Methode synchronisierteMap() der Collections-Klasse jede Map mit synchronisierten Accessoren in eine Map konvertieren.

HashMap hashMap = neue HashMap (); Karte map = Collections.synchronizedMap (hashMap);

Sie können nun von verschiedenen Threads auf das Kartenobjekt zugreifen. Methoden wie get() und put() werden serialisiert: Jede Methode muss ihre gesamte Arbeit abschließen, bevor ein anderer Thread eine ähnliche Methode aufrufen kann.

Bei der Entwicklung eines Programms ist darauf zu achten, dass kein Thread über die üblichen desynchronisierten Methoden auf die Datenstruktur zugreift. Der einfachste Weg, dies sicherzustellen, besteht darin, keine Verweise auf das zugrunde liegende Objekt zu speichern.

Hashtable- und Dictionary-Klassen

Die traditionelle Hashtable dient dem gleichen Zweck wie HashMap und hat im Wesentlichen die gleiche Schnittstelle. Wie die Methoden der Vector-Klasse werden auch die Methoden der Hashtable-Klasse synchronisiert. Wenn Sie für frühere Versionen der Java-Plattform keine Synchronisation oder Codekompatibilität bereitstellen müssen, sollten Sie die HashMap-Klasse verwenden. Die Dictionary-Klasse ist die abstrakte Elternklasse der Hashtable.


2021
mamipizza.ru - Banken. Einlagen und Einlagen. Geldüberweisungen. Kredite und Steuern. Geld und der Staat