В Java есть несколько способов перебрать список: цикл
for с индексом, расширенный for и Iterator. Раньше я использовал цикл for с методом get(), как показано ниже:for (int i = 0; i < list.size(); i++) {
String name = list.get(i);
}🗣️ Этот метод работает для ArrayList, но если список — это LinkedList или другая реализация без поддержки случайного доступа, время выполнения увеличится до O(N^2), потому что get() для LinkedList имеет O(n) сложность.
Кроме того, при использовании циклов может возникнуть ошибка в многопоточном режиме, например, при работе с CopyOnWriteArrayList, когда один поток изменяет список, а другой пытается получить доступ к элементам, что может привести к IndexOutOfBoundsException.
Iterator<String> itr = list.iterator();
while (itr.hasNext()) {
String name = itr.next();
}
Это безопаснее и предотвращает непредсказуемое поведение.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Maven — один из трёх самых популярных инструментов для сборки проектов на Java. Он отвечает за компиляцию, создание jar-файлов (Java-архивов), создание дистрибутива программы, генерацию документации.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤🔥1
В Java 8 было внесено несколько крупных изменений, улучшивших API параллелизма, включая метод newWorkStealingPool().
• Новые методы для ConcurrentHashMap: forEach(), forEachEntry(), forEachValue(), reduce(), merge() и search().• CompletableFuture может явно устанавливать свое значение и статус.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5😢2
Метод
postMail отправляет письмо на заданные адреса. Он принимает список получателей, тему, сообщение и адрес отправителя.Transport.send.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
Этот код создает PDF-файл с использованием библиотеки iText в Java.
• Внутри метода main создается новый PDF-документ, добавляются два параграфа: один с текстом "Hello Kiran" и второй с текущей датой и временем.• Затем документ сохраняется в файл C:\Test.pdf. Если возникает ошибка, она выводится в консоль.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14
Этот код преобразует дату из формата
Java java.util.Date в формат java.sql.Date, который используется для работы с базами данных.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Перегрузка методов происходит, когда в одном классе несколько методов имеют одинаковое имя, но разные параметры.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤🔥1
Рефлексия в Java позволяет динамически получать информацию о классе и его методах во время выполнения.
toString(), чтобы он автоматически выводил значения всех полей объекта, что может быть полезно для отладки и логирования.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤🔥1
Java 8 представила возможность добавлять методы с реализацией по умолчанию (
default) в интерфейсы. 🗣️ Это открывает интересные возможности для создания шаблонных методов, которые могут быть переопределены в классах, реализующих интерфейс.
• default методы в интерфейсах позволяют задавать базовое поведение, которое можно переопределить в классах, реализующих интерфейс.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤🔥1
Работа с объединением строк — это обычная задача, которая может стать громоздкой, если приходится учитывать разделители и правильное форматирование.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Двоичная Java: CDS, CRaC и AOT для ускорения запуска и прогрева JVM
Это текстовая версия доклада с HighLoad++ 2024 , с которым выступал один из наших бывших девелопер-адвокатов @RustamKuramshin Также есть отдельная запись доклада , сделанная силами участников...
👍3
В Java 8 был введен метод
removeIf, который позволяет удалить элементы из коллекции, удовлетворяющие определенному условию, без необходимости явного использования цикла.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
JOOQ (Java Object Oriented Querying) — это мощная библиотека для построения SQL-запросов в Java с использованием объектно-ориентированного подхода. Она генерирует типизированный SQL-код на основе вашей базы данных, что позволяет избежать ошибок на этапе компиляции.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥5
Apache Commons Lang — это библиотека, которая расширяет стандартную библиотеку Java, предоставляя множество утилит для работы со строками, числовыми операциями, рефлексией и другими общими задачами программирования.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
MapStruct — это библиотека для автоматического преобразования данных между Java объектами. Она упрощает создание мапперов и конвертеров, минимизируя необходимость ручного написания кода для преобразования данных между различными слоями приложения.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
JavaFXPorts — это библиотека, которая позволяет использовать JavaFX для разработки кроссплатформенных приложений, поддерживающих мобильные устройства. С JavaFXPorts вы можете разрабатывать приложения на JavaFX и запускать их на Android и iOS, обеспечивая нативное взаимодействие с пользовательским интерфейсом.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14😁2
Cobertura
Cobertura — это инструмент для покрытия кода, который помогает разработчикам Java отслеживать, какие части их кода тестируются. Он работает путем сбора данных о том, какие строки кода выполняются во время тестов, и сравнения этих данных с полным набором строк кода в проекте.
Java Learning👩💻
Cobertura — это инструмент для покрытия кода, который помогает разработчикам Java отслеживать, какие части их кода тестируются. Он работает путем сбора данных о том, какие строки кода выполняются во время тестов, и сравнения этих данных с полным набором строк кода в проекте.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤🔥1