logo

Різниця між Set і Map у Java

На Java, встановити і Карта є два важливі інтерфейси, доступні в рамках колекції. Інтерфейси Set і Map використовуються для зберігання колекції об’єктів як єдиного цілого. Основна відмінність між встановити і Карта чи це встановити є невпорядкованим і містить різні елементи, тоді як Карта містить дані в парі ключ-значення.

У цьому розділі ми детально обговоримо інтерфейс Set і Map, а також побачимо відмінності між ними.

char tostring java

Встановити інтерфейс

The java.util пакет забезпечує встановити інтерфейс. Набір реалізовано шляхом розширення інтерфейсу колекції. Це не дозволяє нам додати той самий елемент до нього. Він не зберігає порядок вставки, оскільки містить відсортовані елементи. Для проектування математичного набору ми використовуємо набір інтерфейс на Java .

Набір проти карти в 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); } } 

Вихід:

Набір проти карти в Java

Інтерфейс карти

Карта є ще одним важливим інтерфейсом, доступним в інтерфейсі колекції. Отже, для того, щоб використати Карта інтерфейс, ми повинні розширити інтерфейс колекції. Так як Набір, карта також використовується для зберігання колекції об'єктів як єдиного блоку. Кожен об’єкт зберігається в парі ключ-значення. Ми можемо легко отримати доступ до значення, використовуючи лише ключ, оскільки кожне значення пов’язане з унікальним значенням.

виклик функції js з html

Ми можемо легко шукати, оновлювати або видаляти елемент за допомогою карти. Карта і SortedMap це два інтерфейси, і TreeMap , LinkedHashMap , і HashMap є три класи Map.

Якщо нам потрібно пройти карту, ми повинні перетворити її на Set, оскільки карту неможливо пройти. Після перетворення його в Set ми можемо обійти його за допомогою методів Set, наприклад keySet() і entrySet() .

Набір проти карти в Java

Давайте розберемося, як ми можемо створити карту в Java на прикладі.

MapExample.java

симетрична різниця
 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); } } } 

Вихід:

Набір проти карти в Java

Різниця між інтерфейсами Set і Map

Обидва інтерфейси використовуються для зберігання колекції об'єктів як єдиного блоку. Основна відмінність між Set і Map полягає в тому, що Set містить лише елементи даних, а Map містить дані в парі ключ-значення, тому Map містить ключ і його значення.

Тепер давайте розберемося в основних відмінностях між ними.

Так ні. встановити Карта
1. Набір використовується для побудови математичного набору в Java. Карта використовується для відображення в базі даних.
2. Він не може містити повторювані значення. Він може мати однакове значення для різних ключів.
3. Набір не дозволяє додавати в нього однакові елементи. Кожен клас, який реалізує інтерфейс Set, містить лише унікальне значення. Карта містить унікальний ключ і повторювані значення. У Map один або кілька ключів можуть мати однакові значення, але два ключі не можуть бути однаковими.
4. Ми можемо легко ітерувати елементи Set за допомогою методу keyset() і entryset(). Елементи карти не можна повторювати. Нам потрібно перетворити Map у Set для ітерації елементів.
5. Порядок вставки не підтримується інтерфейсом Set. Однак деякі його класи, наприклад LinkedHashSet, зберігають порядок вставки. Порядок вставки також не підтримується Картою. Однак деякі класи Map, такі як TreeMap і LinkedHashMap, роблять те саме.