В Java метод
HashMap.getOrDefault() возвращает значение для заданного ключа, если он существует, или значение по умолчанию, если ключ отсутствует. Это удобный способ избежать проверки на наличие ключа.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🎄1
Напишите функцию, которая проверяет, содержит ли строка все буквы английского алфавита (a-z). Игнорируйте регистр букв и символы, не являющиеся буквами.
Пример:
System.out.println(isPangram("The quick brown fox jumps over the lazy dog"));
// Ожидаемый результат: true
System.out.println(isPangram("Hello, World!"));
// Ожидаемый результат: falseРешение задачи на картинке
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🔥2
👩💻 Задача по Java: Проверка строки на наличие всех букв алфавита
Напишите функцию, которая проверяет, содержит ли строка все буквы английского алфавита (a-z). Игнорируйте регистр букв и символы, не являющиеся буквами.
Пример:
Решение задачи на картинке ☝️
Java Learning 👩💻
Напишите функцию, которая проверяет, содержит ли строка все буквы английского алфавита (a-z). Игнорируйте регистр букв и символы, не являющиеся буквами.
Пример:
System.out.println(isPangram("The quick brown fox jumps over the lazy dog"));
// Ожидаемый результат: true
System.out.println(isPangram("Hello, World!"));
// Ожидаемый результат: falseРешение задачи на картинке ☝️
Java Learning 👩💻
👍8
Пояснение
Метод divide вызывает исключение ArithmeticException, так как деление на ноль недопустимо. Исключение перехватывается в блоке catch, где его сообщение выводится. После этого выполняется блок finally, который всегда исполняется независимо от того, было исключение или нет.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
В Java метод
Collections.reverse() изменяет порядок элементов в списке на обратный. Это удобно для работы с коллекциями, где требуется обратный порядок.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
В Java метод
String.replace() заменяет все вхождения указанного символа или подстроки в строке на новое значение. Это удобно для модификации строк без необходимости создания сложных шаблонов.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
Что такое метод
finalize() в Java, как он работает и почему его использование не рекомендуется?Ответ
Пример использования
class Resource {
@Override
protected void finalize() throws Throwable {
System.out.println("Ресурс освобожден!");
}
}
public class Main {
public static void main(String[] args) {
new Resource(); // Создаем объект без сохранения ссылки
System.gc(); // Явный вызов сборщика мусора (не гарантирует немедленного выполнения)
System.out.println("Завершение программы");
}
}
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥1
В Java метод
String.contains() проверяет, содержится ли указанная подстрока в строке. Это удобный способ проверки наличия текста в строке.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
В Java методы
String.startsWith() и String.endsWith() проверяют, начинается или заканчивается строка на указанную подстроку. Это удобно для работы с текстами и валидации.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
#вопросы_с_собеседований
Расскажите про приведение типов. Что такое понижение и повышение типа?
Приведение типов — это преобразование переменной одного типа в другой.
Существует два вида приведения типов:
— Повышение типа (widening): автоматическое преобразование типа в другой, более широкий тип. Например, int в long. При этом не теряется точность, так как широкий тип может представить все значения узкого типа.
— Понижение типа (narrowing): явное приведение к более узкому типу, например double в int. Здесь возможна потеря точности, поэтому требуется явное приведение в коде.
Повышение типа безопасно, компилятор делает его автоматически.
Понижение опасно потерей данных, поэтому разработчик должен явно указать такое приведение в коде, чтобы показать, что он контролирует возможную потерю точности.
Java Learning👩💻
Расскажите про приведение типов. Что такое понижение и повышение типа?
Существует два вида приведения типов:
— Повышение типа (widening): автоматическое преобразование типа в другой, более широкий тип. Например, int в long. При этом не теряется точность, так как широкий тип может представить все значения узкого типа.
— Понижение типа (narrowing): явное приведение к более узкому типу, например double в int. Здесь возможна потеря точности, поэтому требуется явное приведение в коде.
Повышение типа безопасно, компилятор делает его автоматически.
Понижение опасно потерей данных, поэтому разработчик должен явно указать такое приведение в коде, чтобы показать, что он контролирует возможную потерю точности.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥1
RefactorFirst
RefactorFirst — это инструмент для Java-кода, помогающий определить и расставить по приоритетам классы, которые следует рефакторить в первую очередь. Он работает, сканируя код на наличие «божественных классов» (God Classes) и классов с высокой степенью связности.
«Божественных классов» — это классы, которые делают слишком много и, следовательно, являются плохо спроектированными. Они могут быть трудными для понимания, тестирования и сопровождения.
Java Learning👩💻
RefactorFirst — это инструмент для Java-кода, помогающий определить и расставить по приоритетам классы, которые следует рефакторить в первую очередь. Он работает, сканируя код на наличие «божественных классов» (God Classes) и классов с высокой степенью связности.
«Божественных классов» — это классы, которые делают слишком много и, следовательно, являются плохо спроектированными. Они могут быть трудными для понимания, тестирования и сопровождения.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
В Java метод
Math.round() округляет число до ближайшего целого значения. Это полезно для обработки чисел с плавающей запятой, если требуется округление до ближайшего целого.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Fastjson
Fastjson — это высокопроизводительная библиотека Java, предназначенная для преобразования объектов Java в JSON и наоборот. Она легкая, быстрая и простая в использовании.
Java Learning👩💻
Fastjson — это высокопроизводительная библиотека Java, предназначенная для преобразования объектов Java в JSON и наоборот. Она легкая, быстрая и простая в использовании.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
В Java метод
subList() позволяет создать представление части списка. Это удобно для работы с подмножествами коллекций без необходимости копирования элементов.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Что такое
ForkJoinPool в Java, как он работает, и как его использовать для параллельной обработки задач?Ответ
Пример использования
import java.util.concurrent.RecursiveTask;
import java.util.concurrent.ForkJoinPool;
class SumTask extends RecursiveTask<Integer> {
private final int[] array;
private final int start, end;
public SumTask(int[] array, int start, int end) {
this.array = array;
this.start = start;
this.end = end;
}
@Override
protected Integer compute() {
if (end - start <= 5) {
int sum = 0;
for (int i = start; i < end; i++) sum += array[i];
return sum;
} else {
int mid = (start + end) / 2;
SumTask left = new SumTask(array, start, mid);
SumTask right = new SumTask(array, mid, end);
left.fork();
return right.compute() + left.join();
}
}
}
public class Main {
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
ForkJoinPool pool = new ForkJoinPool();
int result = pool.invoke(new SumTask(array, 0, array.length));
System.out.println("Сумма: " + result); // Сумма: 55
}
}
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Реализуйте функцию, которая принимает два числа, складывает их и возвращает результат в двоичном формате. Результат должен быть строкой.
Пример:
1, 1 --> "10" (1 + 1 = 2 in decimal or 10 in binary)
5, 9 --> "1110" (5 + 9 = 14 in decimal or 1110 in binary)
Решение задачи на картинке
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
В Java метод
Set.retainAll() позволяет оставить только те элементы множества, которые присутствуют в другом множестве. Это удобно для нахождения пересечения множеств.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🎄2
Пояснение
Когда класс реализует два интерфейса с одинаковыми методами default, необходимо явно указать, какой метод вызывать. В данном случае A.super.show () вызывает метод show из интерфейса A, а B.super.show () — из интерфейса B. Поэтому оба метода выполняются последовательно, и в выводе будет A's show и B's show.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5