База Hintsage

Программирование Java

Язык Java, JVM и экосистема серверной разработки.

Темы раздела

Выберите подраздел

Практика

Вопросы: Программирование Java

Разберите, почему в этом коде peek работает быстрее poll, хотя обе операции обращаются к минимальному элементу очереди:

import java.util.PriorityQueue;

PriorityQueue<Integer> queue = new PriorityQueue<>();
queue.add(7);
queue.add(2);
queue.add(5);

System.out.println(queue.peek());
System.out.println(queue.poll());
Программирование JavaКоллекцииJava-разработчик серверной части

В следующем коде проверка contains не зависит от количества элементов в наборе. Какое внутреннее представление EnumSet объясняет такую сложность?

import java.time.DayOfWeek;
import java.util.EnumSet;
import java.util.Set;

class Demo {
    public static void main(String[] args) {
        Set<DayOfWeek> workdays = EnumSet.of(
            DayOfWeek.MONDAY, DayOfWeek.TUESDAY, DayOfWeek.FRIDAY);
        System.out.println(workdays.contains(DayOfWeek.TUESDAY));
    }
}
Программирование JavaКоллекцииJava-разработчик серверных приложений

В коде ниже после изменения первого элемента меняются все позиции списка. Какой механизм это объясняет?

import java.util.*;

public class Main {
    public static void main(String[] args) {
        List<StringBuilder> values = new ArrayList<>(
            Collections.nCopies(3, new StringBuilder("A")));
        values.get(0).append("!");
        System.out.println(values);
    }
}

Показано 241260 из 403