Sobes.tech
Junior — Middle

Java'da Collection va Map interfeyslari o'rtasidagi farqlar va ular nima uchun kerak?

sobes.tech AI

AIdan javob

Collection ва Map — Javaда коллекциялар билан ишлаш учун асосий икки интерфейс, аммо уларнинг мақсадлари турлича:

  • Collection — қайтказилиши мумкин бўлган объектлар гуруҳи учун асосий интерфейс. Унда List, Set ва Queue каби турлари мавжуд. Асосий ғоя — ҳар бир элемент объект бўлган элементлар тўпламини сақлаш.

  • Map — "калит-қаим" жупларини сақлаш учун маълумот тузилмаси. У Collectionдан мерос олмайди, чунки у фақатгина элементлар тўплами эмас, балки калитлар ва уларга тегишли қималарнинг мапасидир.

Нима учун керак:

  • Collection — элементлар тўплами билан ишлаш керак бўлганда, масалан, фойдаланувчилар рўйхати ёки уникал қималар тўплами.
  • Map — калит бўйича тезда қимани топиш керак бўлганда, масалан, параметрлар номи бўйича созламаларни сақлаш.

Масалан:

// Collection мисоли
List<String> list = new ArrayList<>();
list.add("олма");
list.add("банан");

// Map мисоли
Map<String, Integer> map = new HashMap<>();
map.put("олма", 3);
map.put("банан", 5);

System.out.println(list.get(0)); // олма
System.out.println(map.get("банан")); // 5