برنامه نویسی

نحوه کار با HashMap در جاوا

HashMap یک ساختار داده قدرتمند در جاوا است که به شما امکان می دهد جفت های کلید-مقدار را به طور موثر ذخیره و مدیریت کنید. این راهنما اصول کار با آن را پوشش می دهد HashMap، شامل روش ها و مثال هایی که معمولاً استفاده می شود برای کمک به درک کاربرد آن.


مقدمه ای بر هش مپ

الف HashMap داده ها را در قالب جفت های کلید-مقدار ذخیره می کند و پیچیدگی زمان ثابتی را برای عملیات اساسی مانند put، get، و remove (به طور متوسط). در اینجا دلیل آن است HashMap بسیار مفید است:

  • کلیدها منحصر به فرد هستند، اما مقادیر را می توان تکرار کرد.
  • کلیدها و مقادیر می توانند از هر نوع شی باشند.
  • بخشی از java.util بسته بندی
  • اجازه می دهد null به عنوان یک کلید یا مقدار

مثال:

import java.util.HashMap;

public class HashMapExample {
    public static void main(String[] args) {
        HashMap<Integer, String> map = new HashMap<>();

        // Adding key-value pairs
        map.put(1, "Apple");
        map.put(2, "Banana");
        map.put(3, "Cherry");

        // Accessing a value
        System.out.println(map.get(1)); // Output: Apple
    }
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید


ایجاد HashMap

برای ایجاد یک HashMap، از نحو زیر استفاده کنید:

HashMap<KeyType, ValueType> mapName = new HashMap<>();
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مثال:

HashMap<String, Integer> frequencyMap = new HashMap<>();
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

در اینجا، نوع کلید است String و نوع مقدار آن است Integer.


روش های رایج

در اینجا روش های کلیدی وجود دارد HashMap:

1. put(K key, V value)

  • توضیحات: یک جفت کلید-مقدار به نقشه اضافه می کند. اگر کلید از قبل وجود داشته باشد، مقدار را به روز می کند.
  • مثال:
  HashMap<Integer, String> map = new HashMap<>();
  map.put(1, "Apple");
  map.put(2, "Banana");
  map.put(1, "Cherry"); // Updates value for key 1
  System.out.println(map); // Output: {1=Cherry, 2=Banana}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید


2. get(Object key)

  • توضیحات: مقدار مربوط به کلید مشخص شده را بازیابی می کند. برمی گرداند null اگر کلید پیدا نشد
  • مثال:
  System.out.println(map.get(1)); // Output: Cherry
  System.out.println(map.get(3)); // Output: null
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید


3. getOrDefault(Object key, V defaultValue)

  • توضیحات: مقدار کلید مشخص شده را بازیابی می کند. برمی گرداند defaultValue اگر کلید پیدا نشد
  • مثال:
  System.out.println(map.getOrDefault(3, "Default")); // Output: Default
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید


4. containsKey(Object key)

  • توضیحات: بررسی می کند که آیا نقشه حاوی کلید مشخص شده است یا خیر.
  • مثال:
  System.out.println(map.containsKey(1)); // Output: true
  System.out.println(map.containsKey(3)); // Output: false
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید


5. containsValue(Object value)

  • توضیحات: بررسی می کند که آیا نقشه دارای مقدار مشخص شده است یا خیر.
  • مثال:
  System.out.println(map.containsValue("Cherry")); // Output: true
  System.out.println(map.containsValue("Orange")); // Output: false
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید


6. remove(Object key)

  • توضیحات: ورودی کلید مشخص شده را حذف می کند و مقدار را برمی گرداند. برمی گرداند null اگر کلید پیدا نشد
  • مثال:
  System.out.println(map.remove(1)); // Output: Cherry
  System.out.println(map); // Output: {2=Banana}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید


7. putIfAbsent(K key, V value)

  • توضیحات: فقط در صورتی یک جفت کلید-مقدار اضافه می کند که کلید از قبل در نقشه وجود نداشته باشد.
  • مثال:
  map.putIfAbsent(3, "Orange");
  System.out.println(map); // Output: {2=Banana, 3=Orange}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید


8. replace(K key, V value)

  • توضیحات: مقدار مربوط به کلید را تنها در صورت وجود کلید جایگزین می کند.
  • مثال:
  map.replace(3, "Grapes");
  System.out.println(map); // Output: {2=Banana, 3=Grapes}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید


9. keySet()

  • توضیحات: A را برمی گرداند Set حاوی تمام کلیدهای نقشه
  • مثال:
  System.out.println(map.keySet()); // Output: [2, 3]
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید


10. values()

  • توضیحات: A را برمی گرداند Collection از تمام مقادیر موجود در نقشه
  • مثال:
  System.out.println(map.values()); // Output: [Banana, Grapes]
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید


11. entrySet()

  • توضیحات: A را برمی گرداند Set از همه جفت های کلید-مقدار (Map.Entry) در نقشه
  • مثال:
  for (var entry : map.entrySet()) {
      System.out.println(entry.getKey() + " -> " + entry.getValue());
  }
  // Output:
  // 2 -> Banana
  // 3 -> Grapes
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید


12. compute(K key, BiFunction super K, ? super V, ? extends V> remappingFunction)

  • توضیحات: مقدار کلید داده شده را با استفاده از یک تابع محاسباتی به روز می کند.
  • مثال:
  map.put(1, 10);
  map.compute(1, (k, v) -> v * 2); // Doubles the value
  System.out.println(map); // Output: {1=20}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید


13. merge(K key, V value, BiFunction super V, ? super V, ? extends V> remappingFunction)

  • توضیحات: یک مقدار جدید را با مقدار موجود برای کلید داده شده ترکیب می کند.
  • مثال:
  map.put(1, 10);
  map.merge(1, 5, Integer::sum); // Adds the values
  System.out.println(map); // Output: {1=15}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید


مثال کامل: شمارشگر فرکانس ورد

در اینجا یک مثال کامل است که نحوه استفاده را نشان می دهد HashMap برای شمارش فراوانی کلمات:

import java.util.HashMap;

public class WordFrequency {
    public static void main(String[] args) {
        String[] words = {"apple", "banana", "apple", "orange", "banana", "apple"};
        HashMap<String, Integer> frequencyMap = new HashMap<>();

        for (String word : words) {
            frequencyMap.put(word, frequencyMap.getOrDefault(word, 0) + 1);
        }

        System.out.println(frequencyMap); // Output: {orange=1, banana=2, apple=3}
    }
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید


نتیجه گیری

را HashMap class یک روش همه کاره و کارآمد برای مدیریت جفت های کلید-مقدار در جاوا است. با درک روش های آن، می توانید طیف گسترده ای از مشکلات را حل کنید، از جستجوی ساده تا دستکاری داده های پیچیده. شروع به استفاده کنید HashMap در پروژه های خود برای استفاده از قدرت آن!

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا