Назад к вопросам
Junior
84
questionbank
Какие существуют структуры данных в Java?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
В Java существует два основных типа структур данных:
- Примитивные типы данных: Хранят простые значения.
- Непримитивные (ссылочные) типы данных: Ссылаются на объекты.
Примитивные типы данных:
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");