OOP Java 20: Map (Kolleksiya)

Əvvəlki yazılarda kolleksiyalardan biri olan List haqqında danışmış, ətraflı baxmışdıq. Bu yazımızda MAP-lərdən söz açacağıq.

Map ümumi olaraq açarSöz-qiymət qarşılığından ibarətdir. Yəni istifadə etdiyiniz hər bir dəyərə uyğun bir açar söz.

Tələbələrinizin adlarından ibarət bir siyahıda, onların tələbə nömrələrini düşünə bilərsiniz. Burda tələbəNömrəsi-tələbəAdı kimi bir MAP münasibəti yaranır. Bu zaman ortaya bu informasiya çıxır: hər bir tələbənin adı eyni ola bilər, lakin, onların nömrələri (tələbəNömrəsi) eyni ola bilməz. İndi biz eyni olmayan o “key” (açar) vasitəsiylə ona uyğun olan dəyəri tapa bilirik.

Gəlin əvvəlcə bir map listi yaradaq. Sonra həm ona dəyər mənimsətməyə, həm də digər istifadə edilən metodlarına baxaq:

Map list1 = new HashMap();

Map tipində list1 təyin etdik. Əgər IDE sizdə importlara kömək etmirsə, özünüz java.util kitabaxanasındakı müvafiq sinifləri import edin:

import java.util.Map;
import java.util.HashMap;

İndi list1-ə yeni elemetlər mənimsədək: bunun üçün .put() metodundan istifadə edilir.

 list1.put(1200656, "Əliməmməd"); list1.put(1200657, "Əbülfəz"); 

Burda bir məsələ var. Əgər yuxardakı formada siz Map üçün list yaratsaz, istədiyiniz tipdə dəyər ötürə bilərsiniz. Sırf xüsusi formatda tiplərə uyğun map yaratmaq istədikdə aşağıdakı kimi yazırıq:

Map<Integer, String> list2 = new HashMap<Integer, String>();

List1-dən fərqli olaraq list2 üçün yeni dəyər əlavə edərkən məhz açarSöz Integer, ona uyğun gələn qiymət isə String tipində olmalıdır.

İndi gəlin map üçün işlədə biləcəyimiz metodlara ümumi şəkildə baxaq:

  • get(key) – açar sözə uyğun olan qiyməti qaytarır
  • remove(key) – açar sözə uyğun qiyməti silir
  • clear – map daxilindəki bütün qiymətləri silir
  • containKey() və containValue – uyğun olaraq açar sözün və ya qiymətin map listimizdə olub-olmamsını yoxlayır
  • size() – siyahının uzunluğunu verir.

Biraz da mənbə verim, mövzunu dərinləməsinə araşdırıb-öyrənin:

[1] http://serkansakinmaz.blogspot.com/2013/09/java-collectionsjava-koleksiyonlar.html
[2] https://gelecegiyazanlar.turkcell.com.tr/konu/android/egitim/android-101/map
[3] https://www.tutorialspoint.com/java/java_map_interface.htm

Advertisements

Bir cavab yazın

Sistemə daxil olmaq üçün məlumatlarınızı daxil edin və ya ikonlardan birinə tıklayın:

WordPress.com Loqosu

WordPress.com hesabınızdan istifadə edərək şərh edirsinz. Çıxış /  Dəyişdir )

Google+ foto

Google+ hesabınızdan istifadə edərək şərh edirsinz. Çıxış /  Dəyişdir )

Twitter rəsmi

Twitter hesabınızdan istifadə edərək şərh edirsinz. Çıxış /  Dəyişdir )

Facebook fotosu

Facebook hesabınızdan istifadə edərək şərh edirsinz. Çıxış /  Dəyişdir )

w

%s qoşulma

This site uses Akismet to reduce spam. Learn how your comment data is processed.