Коментарі (13)
  • популярні
  • нові
  • старі
Щоб залишити коментар, потрібно ввійти в систему
Sergei R.
Рівень 26
22 січня 2025, 05:26
Initializaiton order 1 - статик родителя 2 - статик ребенка 3 - не статик родителя 4 - конструктор родителя 5 - не статик ребенка 6 - конструктор ребенка
Sergei R.
Рівень 26
21 січня 2025, 11:41
В 3й задаче условие "Ввод окончен, когда строка не совпадает ни с одной из выше указанных." можно реализовать одной строкой, используя regexp
key.matches("user|loser|coder|proger")
Sergei R.
Рівень 26
4 вересня 2024, 14:11
LinkedList Маркер конца (last) в двусвязных списках не содержит значимых данных, а служит вспомогательной нодой для упрощения работы со списком. Он содержит ссылки (next и prev), которые помогают управлять концами списка. last используется для упрощения операций, таких как добавление и удаление элементов, и обеспечивает единообразное завершение списка.
while (buffer != last) {  // Проходим до маркера конца
          if (i == index) {
              return buffer.value;
          }
          i++;
          buffer = buffer.next;  // Переход к следующему элементу
      }
Sergei R.
Рівень 26
2 вересня 2024, 06:23
HashMap ✔ containsKey() - проверяет наличие какого-то ключа ✔ containsValue() - проверяет наличие какого-то значения ✔ keySet() - получить список всех ключей. Пример ↓
// в Set могут быть только уникальные (не повторяющиеся) значения
Set<Integer> keys = passportsAndNames.keySet();
✔ values() - получить список всех значений. Пример ↓
ArrayList<String> values = new ArrayList<>(passportsAndNames.values());
✔ size() - возвращает число элементов в словаре на текущий момент ✔ clear() - удаляет все элементы ✔ isEmpty() - проверка, пустой ли словарь (если пустой, то вернёт true, иначе false) ✔ putAll() - скопировать все элементы из одной мапы в другую ✔ entrySet() - возвращает список всех пар словаря
Sergei R.
Рівень 26
2 серпня 2024, 03:23
Как разделить строку на подстроки по строке-шаблону?
1й вариант: StringTokenizer stringTokenizer = new StringTokenizer(str, delimiter);
2й вариант: String.split(regex);
Как создать массив строк из StringTokenizer?
String[] result = new String[stringTokenizer.countTokens()];
int i = 0;
        while (stringTokenizer.hasMoreTokens()) {
            result[i++] = stringTokenizer.nextToken();
        }
Как создать массив строк из StringBuilder/StringBuffer?
String[] arrays = sb.toString().split(regex);
Sergei R.
Рівень 26
2 серпня 2024, 03:23
Object Throwable
Sergei R.
Рівень 26
2 серпня 2024, 03:22
Работа со строками Разбор методов String от FollowWRabbit java,lang содержит 3 final класса для работы со строками: - String - StringBuilder - StringBuffer ---------------- String методы: --------------------------------Нестатические (экзмеплярные) методы объекта---------------------------------- 1.str.repeat(3) - повторить строку 2. str.codePointAt(0) -> получить Unicode символа 3. str1.concat(str2) -> str1+str2 4. str.hashCode() -> вернет hashCode объекта 5. поиск подстрок в строке 8. сравнение строк 9. создание подстрок: str.replace(), str.trim(),str.substring() (!) Можно делать в виде цепочки методов -------------------------------------------Статические методы класса String-------------------------------------------
String.valueOf()// Преобразовать переменную в String
String.copyValueOf()//Преобразовать char[] в String</<
String.format("Age=%d, Name=%s", age, name); //Создать строку на основе данных
Sergei R.
Рівень 26
2 серпня 2024, 03:22
Arrays - в классе Arrays находятся переопределенные методы: - <Object>.equals() -> Arrays.equals() || Arrays.deepEquals(); - <Object>.toString() -> Arrays.toString() || Arrays.deepToString(); - для сортировки Arrays.sort(); - для копирования Arrays.copyOf() || Arrays.copyOfRange()
Sergei R.
Рівень 26
2 серпня 2024, 03:22
Как работает компиляция и исполнение Java-приложения + image 1. Компиляция. javac преобразует source-code in byte-code; 2. Интерпретация JVM интерпретирует byte-code; 3. JIT-ускорение Для ускорения работы Java-приложений, JVM использует механизм Just-In-Time компиляции, который преобразует наиболее часто выполняемые участки программы в машинный код и хранит их в памяти.
Sergei R.
Рівень 26
2 серпня 2024, 03:21
Хранение одинаковых строк, String Pool + image Встречается в L3.6.4: Интересный нюанс сравнения строк и в статье В Java строки, созданные с использованием двойных кавычек (например, "Это важное смс"), хранятся в памяти как объекты класса String. Когда javac обнаруживает несколько одинаковых строковых литералов в коде, он оптимизирует использование памяти, создавая только один объект String, который затем используется во всех местах, где встречается эта строка. Это называется string pool. Этот пул строк находится в куче (heap) Java-программы, и он представляет собой механизм для повторного использования строковых литералов с целью экономии памяти. Когда вы создаете строку с помощью строкового литерала, Java сначала проверяет пул строк на наличие уже созданной строки с таким же содержимым. Если строка уже есть в пуле, Java использует ее вместо создания нового объекта. ...Только строка, созданная с помощью new... ...не попадает в String Pool: даже если ее текст полностью совпадает с такой же строкой из String Pool. То есть она попадает в отдельную область памяти как новый объект. И каждый раз при создании нового объекта через new в памяти будет выделяться новая область, даже если текст внутри новых строк будет одинаковым! Примечание: это можно обойти через str.intern().