English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Разница между списками и集合ами в Java

Интерфейсы List и Set都属于 фреймворк Collection. Эти интерфейсы расширяют интерфейс Collection. Они используются для хранения集合 объектов в единую ячейку. 

До JDK 1.2 мы использовали Arrays, Vectors и Hashtable для группировки объектов в единую ячейку. 

НомерКлючСписокГруппа
1 шт.
Доступ к положению 
Список предоставляет доступ к положению элементов в множестве.
Множество не предоставляет доступ к положению элементов в множестве
2
Реализация 
Реализации списка - ArrayList, LinkedList, Vector, Stack
Реализация интерфейса множества - HashSet и LinkedHashSet
3
Повторение 
Мы можем хранить повторяющиеся элементы в списке.
Мы не можем хранить повторяющиеся элементы в множестве 
4
Заказ 
Список поддерживает порядок вставки элементов в множество 
Множество не поддерживает никакой порядок 
5
Пустой элемент 
Список может хранить несколько пустых элементов 
Множество может хранить только один пустой элемент

Пример списка

import java.util.List;
import java.util.ArrayList;
import java.util.LinkedList;
public class ListExample {
   public static void main(String[] args) {
      List<String> al = new ArrayList<String>();
      al.add("BMW");
      al.add("Audi");
      al.add("BMW");
      System.out.println("Элементы списка: ");
      System.out.print(al);
   }
}

Результат вывода

Элементы списка:
[BMW, Audi, BMW]

Пример集合а

import java.util.Set;
import java.util.HashSet;
import java.util.TreeSet;
public class SetExample {
   public static void main(String args[]) {
      int count[] = {2, 4, 3, 5};
      Set<Integer> hset = new HashSet<Integer>();
      try{
         for(int i = 0; i<4; i++){
            hset.add(count[i]);
         }
         System.out.println(hset);
      }
      catch(Exception e){
         e.printStackTrace();
      }
   }
}

Результат вывода

[2, 4, 3, 5]
Рекомендуется для вас