Стандартная библиотека Java: полный обзор | Пакеты java.lang, java.util, java.io

Онлайн-тренажер Python для начинающих

Изучайте Python легко и без перегрузки теорией. Решайте практические задачи с автоматической проверкой, получайте подсказки на русском языке и пишите код прямо в браузере — без необходимости что-либо устанавливать.

Начать курс

Стандартная библиотека Java: полный обзор

Стандартная библиотека Java (Java Standard Edition API) — это мощный и обширный набор классов и интерфейсов, предоставляющий разработчикам готовые решения для большинства типовых задач. Она является неотъемлемой частью платформы Java и охватывает всё: от базовых типов данных и работы с коллекциями до многопоточности, ввода-вывода и сетевого взаимодействия. В этом обзоре мы рассмотрим ключевые пакеты и их возможности.

Пакет java.lang — основа языка

Пакет java.lang импортируется автоматически. Он содержит фундаментальные классы, без которых невозможно написать ни одну программу на Java.

  • Object — корневой класс иерархии. Все классы наследуют его методы (equals(), hashCode(), toString()).
  • String, StringBuilder, StringBuffer — для работы с неизменяемыми и изменяемыми строками.
  • Типы-обёртки — Integer, Double, Boolean и другие — позволяют использовать примитивы в коллекциях.
  • System — утилитарный класс для работы с консолью (System.out), свойствами системы и массивами (System.arraycopy()).
  • Math — предоставляет математические константы и функции (Math.sin(), Math.sqrt()).
// Пример использования java.lang
public class LangExample {
    public static void main(String[] args) {
        String text = "Hello, Java!";
        int length = text.length(); // 12
        double root = Math.sqrt(25); // 5.0
        System.out.println(text.toUpperCase()); // HELLO, JAVA!
    }
}

Пакет java.util — коллекции и утилиты

Это один из самых востребованных пакетов. Он включает Collections Framework — единую архитектуру для хранения и обработки данных.

Коллекции

  • List — упорядоченный список (допускает дубликаты). Реализации: ArrayList, LinkedList.
  • Set — множество уникальных элементов. Реализации: HashSet, TreeSet.
  • Map — словарь (ключ-значение). Реализации: HashMap, TreeMap.
  • Queue/Deque — очереди для обработки данных (например, PriorityQueue).
import java.util.*;

public class CollectionsExample {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("Java");
        list.add("Python");
        list.add("Java"); // Дубликат допускается

        Set<Integer> set = new HashSet<>();
        set.add(10);
        set.add(20);
        set.add(10); // Дубликат будет проигнорирован

        Map<String, Integer> map = new HashMap<>();
        map.put("Alice", 30);
        map.put("Bob", 25);

        System.out.println("List: " + list);
        System.out.println("Set: " + set);
        System.out.println("Map: " + map);
    }
}

Утилиты

  • Collections — статические методы для сортировки, поиска и синхронизации коллекций.
  • Arrays — удобная работа с массивами (Arrays.sort(), Arrays.asList()).
  • Date, Calendar — для работы с датами и временем (устарели в пользу java.time).
  • Random — генерация псевдослучайных чисел.

Пакет java.io — ввод-вывод

Этот пакет предоставляет классы для работы с потоками данных: файлами, консолью, сетевыми соединениями. Базируется на концепции InputStream/OutputStream для байтов и Reader/Writer для символов.

  • File — представляет путь к файлу или директории.
  • FileInputStream, FileOutputStream — чтение/запись байтов.
  • BufferedReader, BufferedWriter — буферизированное чтение/запись текста.
  • ObjectInputStream, ObjectOutputStream — сериализация объектов.
import java.io.*;

public class IOExample {
    public static void main(String[] args) throws IOException {
        // Запись в файл
        try                    

Рекомендаций