25.10.2021

Java üçün Mobil Yandex. xəritələrini pulsuz yükləyin. Java proqramları Mobil telefonlar üçün xəritələr Yandex naviqatoru Java üçün oflayn xəritələri yükləyin



Daxili GPS ilə smartfonlar və telefonlar üçün proqram. Telefonunuzdan istifadə edərək şəhərdə naviqasiya etməyə imkan verən yeni Yandex xidməti. Cib telefonları üçün xəritələr adi Yandex.Maps ilə eyni funksiyaya malikdir. Evləri, küçələri və digər obyektləri tapa, peyk görüntülərinə baxa, tıxaclar haqqında məlumat əldə edə bilərsiniz. Əlavə olaraq, yerinizi və hərəkət istiqamətinizi təyin edə bilərsiniz (GPS qəbulediciniz varsa). Mobil kartlarla işləmək üçün proqramı yükləmək və İnternetə (GPRS) qoşulmuş telefonunuza quraşdırmaq lazımdır.

Yandex xəritələri- Yandex-in eyni adlı xidmətindən istifadə edərək GPS naviqasiyası üçün proqram. Lazımi xəritələrin mövcudluğundan narahat olmaq lazım deyil, Yandex.Maps onları avtomatik olaraq tələb olunan əraziyə yükləyəcək. Proqram sizi tıxaclar, qəza yerləri barədə xəbərdar edəcək və ehtiyac duyduğunuz ərazidə bir çox təşkilat və təşkilatı tapmağa kömək edəcək.

Proqramın işləməsi üçün bağlı GPRS bağlantısı tələb olunur!

Yandex.Maps-ın əsas xüsusiyyətləri

Yerinizi və səyahət istiqamətinizi (GPS qəbuledicisi varsa) göstərir.
Tıxacları nəzərə alaraq Moskva və Moskva vilayətində optimal marşrutun qurulması.
Rusiya, Ukrayna və digər ölkələrin 130-dan çox şəhərinin küçələri və ev nömrələri ilə ətraflı xəritələri.
Ərazinin peyk şəkillərinə baxmaq imkanı.
Tıxaclar haqqında məlumat verir.
Ətrafınızdakı mobil operator stansiyalarından və ya Wi-Fi qaynar nöqtələrindən istifadə edərək təxmini mövqeyi təyin edə bilər.
Yol polisi kameralarının quraşdırılması yerlərini, yol işlərini, yol qəzalarını və sürücü üçün faydalı olan digər məqamları göstərir.
Yandex.Maps ilə siz rahatlıqla kafe, bank, otel, kafe, restoran və bir çox başqa təşkilatları lazımi yerdə tapa bilərsiniz.
Marşrutu saxlamaq mümkündür, yazılmış trek Yandex.Maps xidmətinə yüklənə bilər.
Digər istifadəçilərlə birlikdə yol xəritəsinin yaradılmasında iştirak edə, həmçinin xəritəyə etiketlər əlavə etməklə yolda qəzaların baş verdiyi yerləri, problemləri bildirə bilərsiniz.
Günün qaranlıq vaxtı üçün "gecə" iş rejiminin olması.
Tam ekran rejiminə keçmək imkanı.
Şəbəkəyə giriş olmadan oflayn işləyin.

Yandex.Traffik

Sarı və qırmızı sahələrdə nəqliyyat vasitələrinin orta sürətinin 20 km / saatdan az olduğu tıxaclar və tıxaclar göstərilir. Yaşıl - avtomobillərin orta sürətlə 30-40 km / saat sürətlə hərəkət etdiyi yerlər. Sistemdə nə qədər çox iştirakçı varsa, verilən məlumat bir o qədər dəqiq olur. Və hər kəs xəritədə öz izini buraxa bilər.

İnternetə çıxış olmadıqda işləmək

Tətbiqin diskdən oxumaq / yazmaq icazələrinə malik olduğundan və kart önbelleğinin parametrlərdə aktiv olduğundan əmin olun.
Lazımi bölgənin xəritəsi ilə arxivi yükləyin.
Arxivdə / default qovluğunu tapın.
/ Varsayılan qovluğun məzmununu mobil cihazdakı / yandexmaps / (LANGUAGE CODE) qovluğuna köçürün (məsələn, parametrlərdə göstərilən dildən asılı olaraq / yandexmaps / ru-RU və / yandexmaps / uk-UA).
Xidmət elə qurulub ki, istifadəçilər özləri tıxaclar haqqında məlumat verirlər. Yandex.Maps-ı quraşdırın, "tıxacları bildirin" seçimini aktivləşdirin və siz xidmətin tam hüquqlu üzvüsünüz. Cihazınızın koordinatları hər iki dəqiqədə bir serverə ötürülür, təhlil edilir və bir çox iştirakçının məlumatları əsasında sistem bir yol xəritəsi qurur.

Sarı və qırmızı sahələr nəqliyyat vasitələrinin orta sürətinin 20 km/saatdan az olduğu tıxacları və tıxacları göstərir. Yaşıl - avtomobillərin orta hesabla 30-40 km / saat sürətlə hərəkət etdiyi pulsuz ərazilər. Sistemdə nə qədər çox iştirakçı varsa, verilən məlumat bir o qədər dəqiq olur. Və hər kəs xəritədə öz izini qoya bilər.

Yüklə:


Yandex xəritələri- Yandex-in eyni adlı xidmətindən istifadə edərək GPS naviqasiyası üçün proqram. Lazımi xəritələrin mövcudluğundan narahat olmaq lazım deyil, Yandex.Maps onları lazımi sahə üçün avtomatik yükləyəcək. Proqram sizi tıxaclar, qəza yerləri barədə xəbərdar edəcək və ehtiyac duyduğunuz ərazidə bir çox təşkilat və təşkilatı tapmağa kömək edəcək.

Proqramın işləməsi üçün qoşulmuş GPRS bağlantısı tələb olunur!

Yandex.Maps-ın əsas xüsusiyyətləri

  • Yerinizi və səyahət istiqamətinizi (GPS qəbuledicisi varsa) göstərir.
  • Tıxacları nəzərə alaraq Moskva və Moskva bölgəsində optimal marşrutun qurulması.
  • Küçə və ev nömrələri olan Rusiya, Ukrayna və digər ölkələrin 130 -dan çox şəhərinin ətraflı xəritələri.
  • Bölgənin peyk şəkillərinə baxmaq imkanı.
  • Tıxaclar haqqında məlumat verir.
  • Ətrafınızdakı mobil operator stansiyaları və ya Wi-Fi qaynar nöqtələrindən istifadə edərək təxmini mövqeyi müəyyən edə bilər.
  • Yol polisi kameralarının, yol işlərinin, yol qəzalarının və sürücü üçün faydalı olan digər nöqtələrin quraşdırılma yerlərini göstərir.
  • Yandex.Maps ilə siz rahatlıqla kafe, bank, otel, kafe, restoran və bir çox başqa təşkilatları lazımi yerdə tapa bilərsiniz.
  • Marşrutu saxlamaq mümkündür, qeydə alınmış trek Yandex.Maps xidmətinə yüklənə bilər.
  • Digər istifadəçilərlə birlikdə yol xəritəsinin hazırlanmasında iştirak edə, xəritəyə etiketlər əlavə edərək qəza yerlərini, yolda olan problemləri də bildirə bilərsiniz.
  • Günün qaranlıq vaxtı üçün "gecə" iş rejiminin olması.
  • Tam ekran rejiminə keçmək imkanı.
  • Şəbəkəyə giriş olmadan oflayn işləyin.

Yandex.Traffic

Sarı və qırmızı sahələr nəqliyyat vasitələrinin orta sürətinin 20 km/saatdan az olduğu tıxacları və tıxacları göstərir. Yaşıl - avtomobillərin orta sürətlə 30-40 km / saat sürətlə hərəkət etdiyi yerlər. Sistemdə nə qədər çox iştirakçı varsa, verilən məlumatlar bir o qədər dəqiqdir. Və hər kəs xəritədə öz izini qoya bilər.

İnternetə çıxış olmadıqda işləmək

  1. Tətbiqin diskdən oxumaq / yazmaq icazələrinə malik olduğundan və kart önbelleğinin parametrlərdə aktiv olduğundan əmin olun.
  2. Lazımi bölgənin xəritəsi olan bir arxivi yükləyin.
  3. Arxivdəki / default qovluğunu tapın.
  4. / Varsayılan qovluğun məzmununu qovluğa köçürün / yandexmaps / (DİL KODU) mobil cihazda (məsələn, / yandexmaps / ru-RU və ya / yandexmaps / uk-UA, parametrlərdə göstərilən dildən asılı olaraq).

Xidmət elə qurulmuşdur ki, istifadəçilər özləri tıxaclar barədə məlumat verirlər. Yandex.Maps -ı quraşdırın, "tıxacları bildir" seçimini aktiv edin və xidmətin tam üzvüsünüz. Cihazınızın koordinatları hər iki dəqiqədən bir serverə ötürülür, orada təhlil edilir və bir çox iştirakçının məlumatlarına əsasən sistem yol xəritəsi qurur.

Java adası İndoneziya xəritəsində

Java adasının xəritəsi ətraflı

Mərkəzi Java turizm xəritəsi

West Java turizm xəritəsi

Şərqi Java turist xəritəsi

Java xəritəsi

Java dünya xəritəsində onun şimal sahillərini yuyan Yava dənizində yerləşir. Cənubdan adanın Hind okeanına çıxışı var. Java coğrafi xəritəsinin göstərəcəyi kimi, adanın qərbdən şərqə qədər uzunluğu təxminən min kilometrdir. İndoneziyanın ən böyük adasıdır və ölkənin paytaxtı Cakartaya ev sahibliyi edir.

Hər hansı bir Java xəritəsi, ərazisinin təxminən üçdə birini yağış meşələri və cəngəlliklər tutduğunu göstərəcək. Ada inzibati cəhətdən altı bölgəyə bölünür. Java ətraflı xəritəsində Banten, Qərbi Yava, Mərkəzi Yava, Şərqi Yava, Cakarta və Yogyakarta rayonları kimi əyalətlər var.

Adada təbii cazibələr təbiət qoruqları və çoxsaylı vulkanlarla təmsil olunur. Rus dilində Java xəritəsi Krakatoa və Mont Brom'un ən məşhur təpələrini tapmağa kömək edəcəkdir. Diqqətəlayiqdir ki, son dəfə adanın özündə deyil, onunla Sumatra arasında yerləşən Krkatau 2008 -ci ildə püskürmüşdür.

Arrivodan görməli yerləri olan Java xəritəsi sizə ən yaxşı marşrutu tərtib etməyə və adanın bütün maraqlı yerlərini tapmağa kömək edəcək.

Bir dəst, mövcud bir şeyi tez bir zamanda tapa biləcəyiniz məlumat toplusudur. Ancaq bunu etmək üçün lazım olan elementin tam surətinə sahib olmalısınız. Bu cür axtarış o qədər də geniş yayılmır, çünki adətən müvafiq elementin tapıla biləcəyi yalnız bəzi məlumatlar (açar) məlumdur. Bu məqsədlə ekranı dəstəkləyən məlumat strukturu mövcuddur ki, bu da xəritə adlanır. Xəritə əsas dəyər cütlərini saxlayır. Hər bir dəyəri açarı ilə tapmaq olar. Məsələn, bir cədvəldə açarların işçi kimliyi və dəyərlərin İşçi obyektləri olduğu işçi məlumatları qeydləri ola bilər.

Xəritə interfeysi (java.util.Map )

  1. Vget (KeyK)- Göstərilən düyməyə uyğun bir obyekti qaytarır və ya xəritədə göstərilən açar yoxdursa sıfırdır. Açar sıfır ola bilər.
  2. Vput (KeyK, ValueV)- Xəritəyə açar və dəyər əlavə edir. Əgər belə bir açar artıq mövcuddursa, yeni obyekt bu açarla əlaqəli əvvəlkini əvəz edir. Bu üsul obyektin əvvəlki dəyərini qaytarır və ya açar əvvəllər xəritədə olmadıqda sıfırdır. Açar null ola bilər, lakin dəyər qeyri-null olmalıdır.
  3. voidputAll (Xəritəgirişlər)- Verilmiş xəritənin bütün elementlərini cari xəritəyə əlavə edir.
  4. booleancontainsKey (Objectkey)- Göstərilən açar xəritədə olarsa, doğru qaytarır.
  5. booleancontainsValue (Objectvalue)- Xəritədə göstərilən dəyəri ehtiva edərsə doğru qaytarır.
  6. Ayarla > entrySet ()- Xəritənin Map.Entry obyektləri dəsti kimi təsvirini qaytarır, yəni. əsas dəyər cütləri. Elementləri bu görünüşdən silə bilərsiniz və onlar xəritədən silinə bilər, ancaq əlavə edə bilməzsiniz.
  7. Ayarla keySet ()- Xəritə düyməsini bütün düymələr dəsti olaraq qaytarır. Siz bu görünüşdən elementləri silə bilərsiniz və açarlar və onların müvafiq dəyərləri avtomatik olaraq xəritədən silinir, lakin siz yeni elementlər əlavə edə bilməzsiniz.
  8. Kolleksiya dəyərlər ()- Xəritə görünüşünü bütün dəyərlər dəsti kimi qaytarır. Elementləri bu görünüşdən silə bilərsiniz və dəyərlər və onlara uyğun açarlar avtomatik olaraq xəritədən silinə bilər, ancaq yeni maddələr əlavə edə bilməzsiniz.

Əsas xəritə tətbiqləri

Java kitabxanası iki əsas xəritə tətbiqini təmin edir: HashMap hash xəritəsi və TreeMap ağac xəritəsi. Hər iki sinif də Map interfeysini tətbiq edir.
Açarlar təsadüfi olaraq hash xəritəsində və ağac xəritəsində ciddi qaydada yerləşdirilir. Qarışdırma funksiyası və ya müqayisə funksiyası yalnız düymələr üçün istifadə olunur və bu düymələrə uyğun dəyərlər hashed edilmir və ya müqayisə edilmir.
Hansı kartı seçmək lazımdır? Setlərdə olduğu kimi, hashing bir qədər sürətlidir, buna görə də düymələrin sırasının əhəmiyyəti olmayan yerlərdə istifadə edilməsi məsləhət görülür.

Aşağıda işçi məlumatlarını saxlamaq üçün hash xəritəsinin necə yaradıldığı göstərilir. Xəritə işçiləri = yeni HashMap< String, Employee>(); // HashMap Map Employee interfeysini tətbiq edir harry = new Employee (“Harry Hacker”); personal.put (“987-98-9996”, harri);

Xəritəyə bir obyekt əlavə edərkən onun açarı da göstərilməlidir. Bu halda açar sətirdir və müvafiq dəyər İşçi obyektidir.
Obyektə istinad etmək üçün açardan istifadə etməlisiniz.

Sətir s = “987-98-9996”; İşçi e = personal.get (lər); // rekord harrini oxuyur

Verilənlər dəstində göstərilən açara uyğun heç bir məlumat yoxdursa, get () metodu null qaytarır. Açarlar unikal olmalıdır: eyni açarla iki dəyəri saxlaya bilməzsiniz. Əgər eyni düymə ilə put () metodunu iki dəfə çağırsanız, ikinci dəyər sadəcə birincini əvəz edəcək. Bundan əlavə, put () metodu müəyyən edilmiş açarla saxlanılan əvvəlki dəyəri qaytarır.

Remove () metodu elementi xəritədən silir, size () metodu isə xəritədəki elementlərin sayını qaytarır.

Verilənlər dəsti arxitekturasında xəritənin özü verilənlər toplusu hesab edilmir. (Digər verilənlər strukturu arxitekturalarında xəritə açarlarla indeksləşdirilmiş cütlər və ya dəyərlər toplusu hesab olunur.) Bununla belə, Java kitabxanası Kolleksiya interfeysini və ya onun uşaq interfeyslərindən birini həyata keçirən xəritə görünüşünü təmin edir.

Üç növ təqdimat var: bir düymələr dəsti, bir dəyərlər dəsti (bir dəst deyil) və ya bir sıra açar-dəyər cütləri. Açarlar və açar-dəyər cütləri dəsti təşkil edir, çünki xəritədə əsas obyektin yalnız bir unikal nümunəsi ola bilər. Aşağıda sadalanan üsullar bu üç növ xəritə görünüşünü qaytarır.

KeySet () Kolleksiya dəyərlərini təyin edin () Set> entrySet ()

(Açar-dəyər cütlərinin sonuncu dəstinin üzvləri Map.Entry daxili sinifinin obyektləridir) Qeyd edək ki, açarlar dəsti HashSet və ya TreeSet deyil, Set interfeysini həyata keçirən bəzi başqa sinif obyektidir. Set interfeysi Kolleksiya interfeysini genişləndirir, nəticədə keySet () metodundan istifadə edə bilərsiniz.
Məsələn, xəritənin bütün düymələri üzərində təkrarlaya bilərsiniz:

Düymələri təyin edin = map.keySet (); üçün (String açarı: düymələr) (// açar hərəkətləri)

Düymələri və dəyərləri eyni vaxtda görmək istəyirsinizsə, bütün qeydləri siyahıya alaraq dəyərləri axtarmağın qarşısını ala bilərsiniz. Bunu etmək üçün aşağıdakı kod parçasını istifadə edə bilərsiniz:

(Map.Entry entry: staff.entrySet ()) üçün (String açarı = entry.getKey (); İşçi dəyəri = entry.getValue (); // açar və dəyərlə hərəkətlər)

Xüsusi Xəritə tətbiqləri

Lax caching ilə hash kartları

Güclü önbelleği olan WeakHashMap hash xəritələri sinfi maraqlı bir problemi həll etmək üçün hazırlanmışdır. Açarı proqramda artıq istifadə olunmayan dəyərlə, məsələn, həmin düyməyə sonuncu istinad itdiyi üçün nə baş verir? Bu halda, dəyər obyektinə daxil olmaq artıq mümkün deyil. Və bu açar artıq proqramın heç bir yerində olmadığından, əsas dəyər cütlüyünü xəritədən silmək mümkün deyil. Bəs niyə istifadə olunmayan obyektlərin çıxarılmasına cavabdeh olan zibil toplama sistemi onu yığışdıra bilmir?

Təəssüf ki, o qədər də sadə deyil. Yaddaş idarəetmə sistemindəki zibil kollektoru canlı obyektləri izləyir. Xəritə obyekti aktiv olarkən bütün xəritə hüceyrələri də aktivdir. Beləliklə, proqramın özü istifadə edilməmiş dəyərlərin aktiv xəritələrdən çıxarılmasına diqqət yetirməlidir. WeakHashMap sinifinin məqsədi budur. Bu məlumat quruluşu, zibil toplama sistemi ilə qarşılıqlı əlaqə quraraq, yeganə əsas istinadın hash cədvəl girişi olduğu açar dəyər cütlərini aradan qaldırır.

Bu mexanizm belə işləyir. WeakHashMap sinfi açarları saxlamaq üçün zəif istinadlardan istifadə edir. WeakReference obyekti başqa bir obyektə istinad ehtiva edir, yəni. bu halda, hash cədvəlinin açarı. Tipik olaraq, zibil toplama obyektə heç bir istinad olmadığını aşkar edərsə, həmin obyekt atılır. Və əgər yeganə obyekt istinadı WeakReference tiplidirsə, bu lax istinad növbəyə qoyulur. O, vaxtaşırı növbədə yeni keçidləri yoxlayır, çünki bu o deməkdir ki, bu açar artıq istifadə edilmir və onun obyekti silinə bilər. Beləliklə, WeakHashMap sinfi bu açara uyğun olan dəyəri silir.

Əlaqəli hash kartları

JDK 1.4-də verilənlər bazasına yeni elementlərin daxil edildiyi ardıcıllığı yadda saxlayan LinkedHashSet və LinkedHashMap sinifləri təklif edilmişdir. Beləliklə, cədvəldəki maddələrin sırası artıq təsadüfi görünmür. Qeydlər cədvələ əlavə olunduqca, onlar ikiqat əlaqəli siyahı təşkil edirlər.
Məsələn, xəritəni nəzərdən keçirək:

Xəritə heyəti = yeni LinkedHashMap (); Staff.put (“144-25-5464”, yeni işçi (“Amy Lee”)); Staff.put (“567-24-2546”, yeni işçi (“Harry Hacker”)); Staff.put (“157-62-7935”, yeni İşçi (“Gary Cooper”)); Staff.put (“456-62-5527”, yeni işçi (“Francesca Cruz”));
Staff.ketSet (). Iterator () açarlarını aşağıdakı ardıcıllıqla sıralayacaq: 144-25-5464 567-24-2546 157-62-7935 456-62-5527
Və staff.values ​​(). Iterator () öz dəyərlərini belə sıralayacaq: Amy Lee Harry Hacker Gary Cooper Francesca Cruz

Tutarlı bir hashmap, giriş sırasını xatırlaya bilər və elementlər üzərində təkrarlanarkən onu nəzərə ala bilər. Get () və ya put () zəng etdiyiniz zaman toxunduğu giriş öz mövqeyindən silinir və əlaqəli siyahının sonuna köçürülür. Bu əməliyyatlar əlaqəli siyahının strukturunu dəyişir, ancaq hash cədvəlinin hüceyrələrini deyil. Qeyd, açarın hash koduna uyğun olan hüceyrədə qalır. Belə bir hash xəritəsi yaratmaq üçün aşağıdakı ifadəni istifadə etməlisiniz:

LinkedHashMap (ilkin tutum, yük faktoru, doğru)

Giriş qaydasını bilmək, məsələn, "son istifadə olunan" önbellek yaratmaq üçün lazımdır. Məsələn, ən çox istifadə olunan qeydləri yaddaşda saxlamalı və nadir hallarda işləməyiniz lazım olanları verilənlər bazasından götürməli ola bilərsiniz. Cədvəldə bir qeyd tapa bilmirsinizsə və masa artıq doludursa, ilk bir neçə elementi silmək üçün iteratordan istifadə edə bilərsiniz. Bu elementlər digərlərindən daha az istifadə olunur.

Fərdi hashing ilə hash kartları

JDK 1.4 başqa bir xüsusi sinif əlavə edir, IdentityHashMap, xüsusi hashing edir. İçindəki açarların hash kodları hashCode () metodu ilə deyil, System.identityHashCode () metodu ilə hesablanır.Bu üsul yaddaşdakı obyektin ünvanında hash kodunu hesablayır. Bundan əlavə, IdentityHashMap sinfi obyektləri müqayisə etmək üçün equals () metodundan çox == operatorunu istifadə edir.

Başqa sözlə, məzmunu eyni olsa belə, fərqli obyektlərin bir -birindən fərqli olduğu düşünülür. Bu sinif obyektləri keçmək üçün alqoritmləri həyata keçirmək üçün faydalıdır (məsələn, seriallaşdırma üçün), burada hətta iterator tərəfindən artıq keçilmiş obyektləri izləmək lazımdır.

Xəritədə Kolleksiyalardan istifadə

Dəyişdirilməyən baxışlar

Collections sinfi verilənlər toplusunun dəyişdirilə bilməyən görünüşlərini yaradan metodları ehtiva edir. Bu görünüşlər, proqramın işləmə mərhələsində yerinə yetirilən mövcud dəsti yoxlamaq üçün istifadə olunur. Dəsti dəyişdirməyə cəhd edildikdə, bir istisna atılır və məlumat dəsti dəyişməz qalır.
Dəyişdirilməyən Xəritə görünüşləri əldə etmək üçün aşağıdakı üsullardan istifadə olunur:

Collections.unmodifiableMap Collections.unmodifiableSortedMap

Məsələn, kodunuzun bir hissəsinin bir verilənlər bazasının məzmununu görmək istədiyinizi, ancaq toxunmadığınızı düşünün. Bunu etmək üçün bu addımları izləyin:

Xəritə heyət = yeni HashMap (); ... lookAt (yeni Collections.unmodifiableMap (heyət));

Collections.unmodifiableMap metodu Xəritə interfeysini həyata keçirən sinif nümunəsini qaytarır. Bu sinifə daxil olan işçi heyətdən dəyərlər alır. Aydındır ki, lookAt () metodu Map interfeysində elan edilmiş bütün metodları çağıra bilər. Bununla belə, bütün dəyişdirmə üsulları ləğv edilir ki, baza dəstinə daxil olmaq əvəzinə, onlar UnsupportedOperationException atsınlar.

Dəyişdirilməyən görünüş verilənlər toplusunun özünü dəyişməz hala gətirmir. Daimi bir bağlantı istifadə edərək dəsti dəyişdirə bilərsiniz (bizim vəziyyətimizdə işçilərdir), dəstin elementlərini dəyişdirən üsullar isə mövcud olaraq qalır.

Sinxron görüntülər

Bir məlumat axınına birdən çox axından daxil olsanız, verilənlər bazasındakı məlumatlara zərər verməmək üçün diqqətli olmalısınız. Bu, məsələn, bir iş parçasının hash cədvəlinə bir element daxil etməyə çalışdığı, digəri isə onu yenidən yaratmağa çalışdığı təqdirdə baş verəcəkdir.

Kitabxana tərtibatçıları mövzu üçün təhlükəsiz verilənlər toplusu siniflərini tətbiq etmək əvəzinə bunun üçün görünüş mühərrikindən istifadə etməyi seçdilər. Məsələn, Collections sinfinin statik metodu synchronizedMap () istənilən xəritəni sinxronlaşdırılmış girişləri olan Xəritəyə çevirə bilər.

HashMap hashMap = yeni HashMap (); Xəritə xəritə = Collections.synchronizedMap (hashMap);

İndi fərqli mövzulardan xəritə obyektinə daxil ola bilərsiniz. Get () və put () kimi metodlar ardıcıllaşdırılır: başqa bir mövzu oxşar metodu çağırmadan əvvəl hər bir metod bütün işini tamamlamalıdır.

Bir proqram hazırlayarkən, heç bir iş parçasının məlumat quruluşuna adi sinxronizasiya üsulları ilə daxil olmadığından əmin olmalısınız. Bunu təmin etməyin ən asan yolu, əsas obyektə heç bir istinad saxlamamaqdır.

Hashtable və lüğət dərsləri

Ənənəvi Hashtable HashMap ilə eyni məqsədə xidmət edir və mahiyyətcə eyni interfeysə malikdir. Vector sinifinin metodları kimi, Hashtable sinifinin metodları da sinxronlaşdırılır. Əgər Java platformasının əvvəlki versiyaları üçün sinxronizasiya və ya kod uyğunluğu təmin etmək lazım deyilsə, o zaman HashMap sinfindən istifadə etməlisiniz. Lüğət sinfi Hashtable-ın mücərrəd ana sinfidir.


2021
mamipizza.ru - Banklar. Depozitlər və əmanətlər. Pul köçürmələri. Kreditlər və vergilər. Pul və dövlət