تری مپ (TreeMap)
«تری مپ (TreeMap)» جفت های «کلید-مقدار» را نگه می دارد. اما کلیدها همیشه مرتب هستند. «کلید (Key)» شناسه یکتا است. «مقدار (Value)» داده مربوط به کلید است. مثل دفتر نمره که اسم ها الفبایی مرتب می مانند.
تری مپ جاوا چیست؟
تری مپ در بسته java.util است و رابط Map را پیاده سازی می کند. برخلاف HashMap، ترتیب کلیدها را نگه می دارد.
ساخت یک TreeMap
import java.util.TreeMap;
TreeMap<String, String> capitalCities = new TreeMap<>();
نکته: با put() اضافه کن، با get() بخوان، با remove() حذف کن.
افزودن آیتم ها با put()
import java.util.TreeMap;
public class Main {
public static void main(String[] args) {
TreeMap<String, String> capitalCities = new TreeMap<>();
capitalCities.put("England", "London");
capitalCities.put("India", "New Dehli");
capitalCities.put("Austria", "Wien");
capitalCities.put("Norway", "Oslo");
capitalCities.put("Norway", "Oslo");
capitalCities.put("USA", "Washington DC");
System.out.println(capitalCities);
}
}
هشدار: کلید تکراری یکبار می ماند و مقدار جدید جایگزین می شود.
خواندن مقدار با get()
capitalCities.get("England");
حذف و پاک سازی
capitalCities.remove("England");
capitalCities.clear();
گرفتن اندازه Map
capitalCities.size();
نکته: فقط کلیدهای یکتا شمرده می شوند.
حلقه روی کلیدها و مقدارها
// Print keys
for (String k : capitalCities.keySet()) {
System.out.println(k);
}
// Print values
for (String v : capitalCities.values()) {
System.out.println(v);
}
// Print keys and values
for (String k : capitalCities.keySet()) {
System.out.println("key: " + k + " value: " + capitalCities.get(k));
}
کلیدواژه var در جاوا 10
// Without var
TreeMap<String, String> capitalCities = new TreeMap<String, String>();
// With var
var capitalCities = new TreeMap<String, String>();
نکته: var کد را کوتاه می کند؛ شفافیت هم مهم است.
اعلان با نوع Map و شیء TreeMap
import java.util.Map;
import java.util.TreeMap;
Map<String, String> capitalCities = new TreeMap<>();
نکته: این روش انعطاف می دهد تا بعداً پیاده سازی را عوض کنی.
سه گام تمرینی سریع
- یک TreeMap بساز و چند جفت اضافه کن.
- با
get()مقدار یک کلید را چاپ کن. - کلیدها را با
keySet()حلقه بزن و ببین مرتب اند.
جمع بندی سریع
- تری مپ کلیدها را مرتب نگه می دارد.
- کلید یکتا است؛ مقدار می تواند تکراری باشد.
- put اضافه می کند؛ get می خواند؛ remove حذف می کند.
- برای سرعت بیشتر، HashMap را ببین.