Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 18.03.2016
Сообщений: 13

Java Интерфейс Collection

27.03.2016, 11:30. Показов 1457. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, пожалуйста! Не могу разобраться с коллекциями. Нужно создать класс, с данными о людях: ID, имя, возраст. Есть коллекция людей, которая состоит из учителей и учеников. У учителей есть информация о предмете, а у учеников – номер класса. Создать коллекцию и заполнить ее данными об учениках и учителях. Сделать сортировку списка по имени, найти самого старого человека в коллекции.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.03.2016, 11:30
Ответы с готовыми решениями:

Интерфейс Collection принцыпы работы
Добрый день. я новичок в программировании. Читаю и начинаю путаться, как имплементированный интерфейс получает интерпретацию при...

Как преобразовать объект типа java.lang.reflect.Array в массив или Collection?
Проблема в том что статичный методы(а других у него и нет) этого класса не дают информацию о размере массива и приходиться отлавливать...

Интерфейс в java
Доброго времени суток. Помогите разобраться с интерфейсом. Дан интерфейс числовой последовательности: public interface Serie { ...

10
 Аватар для HOBATOP
323 / 310 / 206
Регистрация: 14.09.2015
Сообщений: 827
27.03.2016, 18:24
Лучший ответ Сообщение было отмечено Callipso как решение

Решение

Callipso, вот смотрите:
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
class Collective {
 
    int id;
    String name;
    int age;
    String teaching;
    int classNumber;
 
    public Collective(int teacherID, String teacherName, int teacherAge, String teaching) {
        this.id = teacherID;
        this.name = teacherName;
        this.age = teacherAge;
        this.teaching = teaching;
    }
 
    public Collective(int studentID, String studentName, int studentAge, int classNumber) {
        this.id = studentID;
        this.name = studentName;
        this.age = studentAge;
        this.classNumber = classNumber;
    }
}
 
class SchoolTeam {
 
    public static void main(String[] args) {
        ArrayList<Collective> team = new ArrayList<>();
        team.add(new Collective(1, "Сергеев", 42, "география"));
        team.add(new Collective(2, "Юлианова", 12, 7));
        team.add(new Collective(3, "Борисов", 40, "математика"));
        team.add(new Collective(4, "Грачёв", 13, 8));
        team.add(new Collective(5, "Семёнова", 49, "литература"));
        team.add(new Collective(6, "Осипов", 14, 9));
        team.add(new Collective(7, "Данилова", 29, "физика"));
        team.add(new Collective(9, "Архипова", 11, 6));
        Collections.sort(team, (Collective team1, Collective team2) -> team1.name.compareTo(team2.name));
        team.stream().forEach((temp) -> {
            System.out.println(temp.name);
        });
        int max = team.get(0).age;
        String name = null;
        for (Collective temp : team) {
            if (max < temp.age) {
                max = temp.age;
                name = temp.name;
            }
        }
        System.out.println("Больше всего лет " + name + " - " + max);
    }
}

Поможет "разобраться с коллекциями"?
1
0 / 0 / 0
Регистрация: 18.03.2016
Сообщений: 13
27.03.2016, 20:43  [ТС]
Спасибо огромное за Вашу помощь!
Все понятно, только впервые встречаю такую "конструкцию" ->, Вы не могли бы пояснить
Java
1
2
3
4
Collections.sort(team, (Collective team1, Collective team2) -> team1.name.compareTo(team2.name));
        team.stream().forEach((temp) -> {
            System.out.println(temp.name);
        });
0
 Аватар для Левиафам
38 / 33 / 12
Регистрация: 31.05.2012
Сообщений: 586
27.03.2016, 21:04
Цитата Сообщение от Callipso Посмотреть сообщение
Collections.sort
на сколько моя понимать это использование готового метода, разве за это преподаватель попорет?
0
 Аватар для HOBATOP
323 / 310 / 206
Регистрация: 14.09.2015
Сообщений: 827
27.03.2016, 21:16

Не по теме:

Левиафам,

Цитата Сообщение от Левиафам Посмотреть сообщение
на сколько моя понимать это использование готового метода, разве за это преподаватель попорет?
- но вручную сортировать вообще тоскливо как-то... :(


Callipso, сортировка коллекции по полю name и вывод её на экран. Два лямбда выражения: одно заменяет написание компаратора (то есть это и есть компаратор, но записанный в более простой и краткой форме), второе просто облегчает (хотя казалось бы куда уж проще?) использование цикла forEach.
0
0 / 0 / 0
Регистрация: 18.03.2016
Сообщений: 13
27.03.2016, 21:50  [ТС]
А как сделать, чтобы при печати у учителя выводился предмет, а у ученика - класс? (например,
Сергеев - география
Юлианова - 7 класс
0
 Аватар для HOBATOP
323 / 310 / 206
Регистрация: 14.09.2015
Сообщений: 827
27.03.2016, 22:13
Callipso, ну ёлки-брёвна! А чуть-чуть подумать вообще не штырит? Вам же дали весь инструментарий...
Java
1
System.out.println(temp.name + " " + ((temp.classNumber == 0) ? temp.teaching : temp.classNumber + " класс"));
Замените строку и вся любовь.
Сегодня больше вряд ли смогу уделить время для дальнейших усовершенствований...
0
 Аватар для Левиафам
38 / 33 / 12
Регистрация: 31.05.2012
Сообщений: 586
27.03.2016, 22:25
Цитата Сообщение от HOBATOP Посмотреть сообщение
Сегодня больше вряд ли смогу уделить время для дальнейших усовершенствований...
да есть над чем.....дело в том что если укажем нулевой класс (такое тоже бывает), а по условию сравнение идет с нулем, следовательно если класс будет равен нулю то null выведет, а должен ноль......................А вообще интересно когда студент не знает коллекций но зато приносит решение где он лямбды использует
0
0 / 0 / 0
Регистрация: 18.03.2016
Сообщений: 13
27.03.2016, 22:55  [ТС]
Я, конечно, понимаю, что вы очень круты в Java, но я совсем новичок и всему этому только учусь, поэтому могу не знать элементарных, на ваш взгляд, вещей) Еще раз спасибо за уделенное мне время

Добавлено через 20 минут
Цитата Сообщение от Левиафам Посмотреть сообщение
но зато приносит решение где он лямбды использует
Поэтому, хоть я и почитал про эти лямбда-выражения, не решусь приносить решение с ними)) Сделал с компоратором
Java
1
2
3
4
5
6
7
8
9
class ComparatorName implements Comparator<Chelovek>{
    @Override
    public int compare(Chelovek o1, Chelovek o2) {
        String str1 = o1.getName();
        String str2 = o2.getName();
 
        return str1.compareTo(str2);
    }
}
0
 Аватар для Левиафам
38 / 33 / 12
Регистрация: 31.05.2012
Сообщений: 586
27.03.2016, 23:04
Цитата Сообщение от Callipso Посмотреть сообщение
Сделал с компоратором
и всё работает?
Цитата Сообщение от Callipso Посмотреть сообщение
не решусь приносить решение с ними
правильно, лучше пиши в ручную чтобы наверняка
0
0 / 0 / 0
Регистрация: 18.03.2016
Сообщений: 13
27.03.2016, 23:26  [ТС]
Цитата Сообщение от Левиафам Посмотреть сообщение
и всё работает?
Да, работает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.03.2016, 23:26
Помогаю со студенческими работами здесь

Java ООП(интерфейс)
Добрый вечер,помогите написать код пожалуйста. Есть класс товаров(чего либо),реализуйте для него два интерфейса.В одном просмотр...

Java. Интерфейс Map
Добрый вечер! Есть готовый класс Device, необходимо выполнить сортировку по названию фирмы, с помощью интерфейса MAP. !!HELP! Помогите...

Map интерфейс в Java
1. Учет товаров на складе Основной информационный объект: товар (код товара (уникален), название, ед. измерения, количество). Основные...

Java графический интерфейс
Вопросы: 1.) Что такое Фрейм, панель, слой? 2.) Для чего используется, так называемая панель? 3.) Как правильно пользоваться слоями?...

Java Collection API
Чет туплю, подскажите пжлста, как реализовать такой кейс public class MathParser { private static String QUIT_COMMAND =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru