Назад к вопросам
Junior
84
questionbank

Какие существуют структуры данных в Java?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

В Java существует два основных типа структур данных:

  1. Примитивные типы данных: Хранят простые значения.
  2. Непримитивные (ссылочные) типы данных: Ссылаются на объекты.

Примитивные типы данных:

  • byte: 8-битное целое число со знаком.
  • short: 16-битное целое число со знаком.
  • int: 32-битное целое число со знаком (наиболее часто используемый).
  • long: 64-битное целое число со знаком.
  • float: 32-битное число с плавающей запятой (одинарная точность).
  • double: 64-битное число с плавающей запятой (двойная точность, наиболее часто используемый).
  • boolean: Логический тип, может принимать значения true или false.
  • char: 16-битный Unicode символ.

Непримитивные (ссылочные) типы данных:

К ним относятся объекты классов, интерфейсов и массивов. Основные структуры данных, реализованные в стандартной библиотеке Java (Java Collections Framework), включают:

  • Коллекции (Collections): Группы объектов. Основные интерфейсы:
    • List: Упорядоченная коллекция (список), допускающая дубликаты. Примеры реализаций: ArrayList, LinkedList.
    • Set: Коллекция, не допускающая дубликаты. Примеры реализаций: HashSet, TreeSet, LinkedHashSet.
    • Queue: Коллекция для хранения элементов перед обработкой, обычно遵循_первым пришел — первым ушел_ (FIFO). Примеры реализаций: LinkedList, PriorityQueue.
    • Deque: Двусторонняя очередь. Примеры реализаций: ArrayDeque, LinkedList.
  • Карты (Maps): Хранят пары ключ-значение.
    • Map: Интерфейс, представляющий отображение ключей на значения. Ключи уникальны. Примеры реализаций: HashMap, TreeMap, LinkedHashMap, HashTable.
  • Массивы (Arrays): Фиксированного размера последовательность элементов одного типа.
// Пример примитивных типов
int count = 10;
double price = 19.99;
boolean isActive = true;
char initial = 'A';

// Пример массива
int[] numbers = {1, 2, 3, 4, 5};

// Пример List (ArrayList)
import java.util.ArrayList;
import java.util.List;

List<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");

// Пример Set (HashSet)
import java.util.HashSet;
import java.util.Set;

Set<Integer> uniqueIds = new HashSet<>();
uniqueIds.add(101);
uniqueIds.add(105);

// Пример Map (HashMap)
import java.util.HashMap;
import java.util.Map;

Map<String, String> capitals = new HashMap<>();
capitals.put("France", "Paris");
capitals.put("Germany", "Berlin");