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

Коллекции

16.05.2017, 20:10. Показов 1365. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Бьюсь над задачкой по java. Условие:

Напишите класс Student, предоставляющий информацию об имени
студента методом getName() и о его курсе методом getCourse(). Напишите
метод printStudents(LinkedList students, int course), который получает список
студентов и номер курса и печатает в консоль имена тех студентов из списка,
которые обучаются на данном курсе. Протестируйте ваш метод (для этого
предварительно придется создать десяток объектов класса Student и
поместить их в список). Напишите методы union(LinkedList set1, LinkedList
set2) и intersect(LinkedList set1, LinkedList set2), реализующих операции
объединения и пересечения двух множеств. Протестируйте работу этих
методах на двух предварительно заполненных множествах. (Вам
понадобится написать вспомогательный метод, выводящий все элементы
множества на консоль.) Реализуйте интерфейс Comparable так, чтобы
студенты сортировались по номеру курса. Проверить работу, используя класс
TreeSet.


Часть кода:


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
51
52
53
54
55
56
57
58
59
60
61
62
63
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
 
public class Main {
 
public static void main(String[] args) {
ArrayList <Student> st = new ArrayList <Student>();
st.add(new Student(3, "Гребенщиков"));
st.add(new Student(2, "Васильев"));
st.add(new Student(3, "Шахрин"));
st.add(new Student(1, "Шевчук"));
st.add(new Student(3, "Чиграков"));
st.add(new Student(2, "Бутусов"));
st.add(new Student(1, "Цой"));
st.add(new Student(2, "Кинчев"));
st.add(new Student(3, "Кипелов"));
st.add(new Student(1, "Ревякин"));
 
int course = 1;
printStudents(st, course);
 
course = 2;
printStudents(st, course);
 
course = 3;
printStudents(st, course);
 
}
 
public static void printStudents(List<Student> students, int course) {
System.out.println("Студенты " + course + " курса:");
 
Iterator<Student> iter = students.iterator();
while (iter.hasNext()) {
Student student = iter.next();
if (student.getCourse() == course) {
System.out.println(student.getName());
}
}
}
}
 
 
public class Student {
 
private int course;
private String name;
 
public Student(int course, String name) {
this.course = course;
this.name = name;
}
 
public int getCourse() {
return course;
}
 
public String getName() {
return name;
}
 
}

Ломаю голову над реализацией этой части: "Напишите методы union(LinkedList set1, LinkedList
set2) и intersect(LinkedList set1, LinkedList set2), реализующих операции
объединения и пересечения двух множеств. Протестируйте работу этих
методах на двух предварительно заполненных множествах. Реализуйте интерфейс Comparable так, чтобы
студенты сортировались по номеру курса. Проверить работу, используя класс
TreeSet."

Подскажите пожалуйста как это написать.

Добавлено через 45 минут
Разобрался с объединением и множеством:

Java
1
2
3
4
5
Set<Integer> set1 = new HashSet<>(Arrays.asList(1, 2, 3, 4, 5));
        Set<Integer> set2 = new HashSet<>(Arrays.asList(4, 5, 6, 7, 8));
        Set<Integer> union = Stream.concat(set1.stream(), set2.stream()).collect(Collectors.toSet());
        Set<Integer> intersect = set1.stream().filter(set2::contains).collect(Collectors.toSet());
        System.out.println(union + " - " + intersect);

Осталось: "Реализуйте интерфейс Comparable так, чтобы
студенты сортировались по номеру курса. Проверить работу, используя класс
TreeSet."
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.05.2017, 20:10
Ответы с готовыми решениями:

Коллекции
Здравствуйте. Я новичок в изучении java. Нужна помощь Задание: Вклады:сумма,дата,процентная ставка,период,вид вклада 1.Добавить в...

Коллекции
Создать для класса Автомобиль, имеющего 3 свойства , 3 различных класса , реализующих интерфейс Comparator.В качестве критериев для...

Коллекции
Есть несколько типов коллекций, а именно: static List&lt;String&gt; GrapeVarieties = new ArrayList&lt;&gt;(); static List&lt;Integer&gt;...

4
3 / 3 / 0
Регистрация: 26.09.2014
Сообщений: 84
16.05.2017, 22:11
Цитата Сообщение от Gramazeka Посмотреть сообщение
Здравствуйте. Бьюсь над задачкой по java. Условие:

Осталось: "Реализуйте интерфейс Comparable так, чтобы
студенты сортировались по номеру курса. Проверить работу, используя класс
TreeSet."
Во первых, код стоит форматировать соответствующими тегами, тогда будет больше вероятность, что тебе что-то ответят. По теме, я не спец, но вроде как для TreeSet нужен Comporator, а не Comparable.
1
0 / 0 / 0
Регистрация: 25.04.2017
Сообщений: 15
17.05.2017, 16:57  [ТС]
Slavador, Про Comparable скопировал с учебника (pdf), где условие задачи было. Только если там опечатка. А подскажите пожалуйста как правильно форматировать сообщение тегами или где про это прочитать? Новичок я тут, да в java, уж простите.
0
33 / 33 / 20
Регистрация: 18.03.2016
Сообщений: 101
17.05.2017, 19:16
Есть java.util.Comparator, а есть java.util.Corparable.

Почитайте: http://java-online.ru/blog-comparator.xhtml
1
0 / 0 / 0
Регистрация: 25.04.2017
Сообщений: 15
17.05.2017, 19:28  [ТС]
Asia4444_, Благодарствую. Обязательно изучу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.05.2017, 19:28
Помогаю со студенческими работами здесь

Коллекции
Посоветуйте пожалуйста статью о коллекциях, именно для новичков, или книгу, где про них подробно и понятно расписано

Коллекции
Java Создать коллекцию

Коллекции
Введите с клавиатуры два предложения. Разбейте их на две коллекции слов. Вставьте слова из первой коллекции через слово во вторую коллекцию

Коллекции
Доброго времени суток. Никак не могу разобраться с коллекциями в java, а именно с map. Задача такая: есть абстрактный класс фигуры, и 4...

Коллекции
есть файл с данными типа String;int;LocalTime;int;int;int;int Например Kiev;221;19:42;100;50;50;25 Нужно с помощью ArrayList...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru