Практика на records в Java
Сделайте record Employee с компонентами
id, name и salary.
Дан список:
import java.util.List;
List<Employee> team = List.of(
new Employee(1, "Ann", 90000),
new Employee(2, "Bob", 70000),
new Employee(3, "Cy", 90000)
);
Выведите число сотрудников с
salary() == 90000.
Сделайте record Employee
с компонентами title и views.
Даны публикации:
Employee a = new Employee("News", 10);
Employee b = new Employee("News", 10);
Выведите три результата сравнения equals:
a и b, a и новый
Employee("Other", 10), a и a.
Сделайте record User с компонентами
login и active.
Создайте new User("neo", true)
и вторую запись с тем же логином и active = false.
Выведите login() и active()
обеих записей через пробел (четыре значения).
Сделайте record PairTag
с компонентами key и value.
Дана карта:
import java.util.Map;
Map<String, PairTag> tags = Map.of(
"env", new PairTag("env", "prod"),
"ver", new PairTag("ver", "3")
);
Для ключа "ver" выведите value()
или "missing", если записи нет.
Сделайте record OrderLine
с компонентами sku и qty.
Дан список:
import java.util.List;
List<OrderLine> lines = List.of(
new OrderLine("a", 2),
new OrderLine("b", 1),
new OrderLine("a", 3)
);
Выведите сумму qty() для sku, равного "a".
Сделайте record Product
с компонентами r, g и b.
Создайте new Product(10, 20, 30).
Выведите строку toString().
Сделайте record Version
с компонентами major и minor.
Даны версии:
Version v1 = new Version(1, 0);
Version v2 = new Version(v1.major(), 2);
Выведите major() и minor() у v1
и у v2 в формате из четырёх чисел, разделённых пробелами.
Сделайте record Hit
с компонентами page и ms.
Дан список:
import java.util.List;
List<Hit> hits = List.of(
new Hit("/", 120),
new Hit("/api", 40),
new Hit("/", 80)
);
Выведите среднее ms() для page(), равного "/",
как целое (отбросьте дробную часть).
Сделайте record Edge
с компонентами from и to.
Поместите три ребра в HashSet,
добавьте дубликат первого ребра.
Выведите размер набора.
Сделайте record Row
с компонентами id и text
и методом label(), возвращающим
id(), двоеточие и text().
Выведите label() для new Row(5, "note").