В Java, Комплект и Карта са два важни интерфейса, налични в рамката на колекцията. И двата интерфейса Set и Map се използват за съхраняване на колекция от обекти като единична единица. Основната разлика между Комплект и Карта е това Комплект е неподреден и съдържа различни елементи, докато Карта съдържа данните в двойката ключ-стойност.
В този раздел ще обсъдим подробно интерфейса Set и Map и ще видим разликите между тях.
машинопис тип дата
Задаване на интерфейс
The java.util пакетът осигурява Комплект интерфейс. Наборът се изпълнява чрез разширяване на интерфейса за събиране. Това не ни позволява да добавим същия елемент към него. Той не поддържа реда на вмъкване, защото съдържа елементи по сортиран начин. За проектиране на математическия набор ние използваме набора интерфейс в Java .
Нека внедрим интерфейса Set в a Java програма.
SetExample.java
import java.util.*; public class SetExample{ public static void main(String[] args) { // creating LinkedHashSet implementation using the Set Set marvel_movies = new LinkedHashSet(); marvel_movies.add('Captain Marvel'); marvel_movies.add('Thor: Ragnarok'); marvel_movies.add('Captain America: The Winter Soldier'); marvel_movies.add('Ant-Man and the Wasp'); System.out.println(marvel_movies); } }
Изход:
Интерфейс на картата
Карта е друг важен интерфейс, наличен в интерфейса на колекцията. И така, за да използвате Карта интерфейс, трябва да разширим интерфейса на колекцията. Точно като Комплект, карта се използва и за съхраняване на колекция от обекти като единична единица. Всеки обект се съхранява в двойка ключ-стойност. Можем лесно да получим достъп до стойността, като използваме само ключа, защото всяка стойност е свързана с уникална стойност.
алгоритъм за bfs
Можем лесно да търсим, актуализираме или изтриваме елемента с помощта на картата. Карта и Сортирана карта са двата интерфейса и TreeMap , LinkedHashMap , и HashMap са три класа Map.
Ако трябва да преминем през карта, трябва да я преобразуваме в набор, защото картата не може да бъде премината. След като го преобразуваме в Set, можем да го обходим с помощта на методите Set като keySet() и enterSet() .
Нека разберем как можем да създадем карта в Java, като вземем пример.
MapExample.java
java math.min
import java.util.LinkedHashMap; public class MapExample { public static void main(String[] args) { // Creating an empty Linked Hash Map LinkedHashMap students = new LinkedHashMap(); // Adding data to Linked Hash Map in key-value pair students.put(101, 'Aaliyah'); students.put(102, 'Taylor'); students.put(103, 'Zayn'); students.put(104, 'Sabrina'); students.put(105, 'Paul'); // Showing size and data of the Linked Hash Map System.out.println('The size of the Linked Hash Map is:- '+ students.size()); System.out.println(students); // Checking whether a certaint key is available or not if (students.containsKey(105)) { String name = students.get(105); System.out.println('The name of the student having Id 105 is:- ' + name); } } }
Изход:
Разлика между интерфейсите Set и Map
И двата интерфейса се използват за съхраняване на колекция от обекти като една единица. Основната разлика между Set и Map е, че Set съдържа само елементи от данни, а Map съдържа данните в двойката ключ-стойност, така че Map съдържа ключ и неговата стойност.
Сега нека разберем някои основни разлики между двете.
Да не. | Комплект | Карта |
---|---|---|
1. | Set се използва за конструиране на математическия Set в Java. | Map се използва за картографиране в базата данни. |
2. | Не може да съдържа повтарящи се стойности. | Може да има една и съща стойност за различни ключове. |
3. | Наборът не ни позволява да добавяме едни и същи елементи в него. Всеки клас, който имплементира интерфейса Set, съдържа само уникалната стойност. | Картата съдържа уникален ключ и повтарящи се стойности. В Map един или повече ключове могат да имат еднакви стойности, но два ключа не могат да бъдат еднакви. |
4. | Можем лесно да повторим елементите на Set, като използваме метода keyset() и entryset(). | Елементите на картата не могат да се повтарят. Трябва да преобразуваме Map в Set за повторение на елементите. |
5. | Редът за вмъкване не се поддържа от интерфейса Set. Някои от неговите класове обаче, като LinkedHashSet, поддържат реда на вмъкване. | Редът за вмъкване също не се поддържа от Картата. Въпреки това, някои от класовете Map като TreeMap и LinkedHashMap правят същото. |