Sobes.tech
Junior — Middle

Мо метавонед шарҳи кунед, ки LinkedHashMap дар Java чист ва кадом хусусиятҳоро дорад?

sobes.tech AI

Ҷавоб аз AI

LinkedHashMap дар Java — инҷо иҷрои интерфейси Map мебошад, ки тартиби ворид кардани элементҳоро нигоҳ медорад.

Хусусиятҳои LinkedHashMap:

  • Элементҳо дар шакли ҷуфтҳои калид-арзиш нигоҳ дошта мешаванд, ҳамон тавре ки дар HashMap.
  • Баръакс аз HashMap, LinkedHashMap рӯйхати пайвастшудаи элементҳоро дастгирӣ мекунад, ки имкон медиҳад, ки дар тартиби илова кардан такрор кардан.
  • Иҷозат медиҳад истифодаи тартиби дастрасӣ (access order), ки барои татбиқи кешҳо бо сиёсати LRU (камтар истифодашуда) муфид аст.
  • Вақти дастрасӣ, ворид кардан ва тоза кардан тақрибан O(1) аст, ҳамон тавре ки дар HashMap.

Маслиҳат барои истифода:

import java.util.LinkedHashMap;

public class Example {
    public static void main(String[] args) {
        LinkedHashMap<Integer, String> map = new LinkedHashMap<>();
        map.put(1, "як");
        map.put(2, "ду");
        map.put(3, "се");

        // Такрор дар тартиби илова кардан
        for (Integer key : map.keySet()) {
            System.out.println(key + " -> " + map.get(key));
        }
    }
}

Натиҷа дар тартиби 1, 2, 3 хоҳад буд, ки дар HashMap одатан кафолат дода намешавад.