9 / 3 / 2
Регистрация: 15.04.2012
Сообщений: 185
1

Объект класса - список объектов другого класса

25.03.2015, 21:11. Показов 2543. Ответов 5
Метки нет (Все метки)

Есть класс композиция, есть класс CD-диск.
CD должен состоять из списка Композиций.
Как после этого работать с CD как со списком? Может я неправильно мыслю?
Пример конструктора и метода.
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
import java.util.ArrayList;
 
public class CD {
    private ArrayList<Composition> cd = new ArrayList<Composition>();
 
    public CD( ArrayList<Composition> list) {
        ArrayList<Composition> copylist = new ArrayList<Composition>();
        copylist=list;
        ArrayList<Composition> cd = new ArrayList<Composition>();
        int sum=0;
        while (sum<4800) {
            int t = (int) (list.size() * Math.random());
            if((sum+copylist.get(t).getLength())>4800)break;
            cd.add(copylist.get(t));
            sum+=copylist.get(t).getLength();
            System.out.println(cd.get(t).getAuthor() + " "
                    + cd.get(t).getName() + " " + cd.get(t).getYear() + " "
                    + cd.get(t).getLength() + " " + cd.get(t).getStyle());
            copylist.remove(t);
        }
    }
 
    private void search(ArrayList<Composition> cd, int a, int b) {
        for (int j = 0; j < cd.size(); ++j) {
            if ((cd.get(j).getLength() < b) && (cd.get(j).getLength() > a))
 
                System.out.println(cd.get(j).getAuthor() + " "
                        + cd.get(j).getName() + " " + cd.get(j).getYear() + " "
                        + cd.get(j).getLength() + " " + cd.get(j).getStyle());
        }
    }
Метод search будет доступен ведь только объекту типа CD? А я до этого работал со списком просто.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.03.2015, 21:11
Ответы с готовыми решениями:

XmlJava. Сериализация класса с полем - массивом объектов другого класса
Есть 2 класса Студент и Академ.группа(с полем - массивом студентов). Необходимо выполнить...

Создать объект класса, зная имя класса, а параметры получать из формы
У меня есть форма, на которой есть Combobox, в котором можно выбрать класс. При выборе одно из...

Перенос строки из одного класса в JTextArrea другого класса
Есть два класса. Первый public class TestClass1 extends JFrame { private static boolean...

Как из вложенного класса сослаться на объект внешнего класса?
Привет всем! пытаюсь разобраться с событиями. Хочу при клике изменить цвет кнопки на другой, не не...

5
282 / 262 / 173
Регистрация: 27.07.2014
Сообщений: 584
25.03.2015, 21:36 2
sergey_viper, объявляете список и инициализируете его в конструкторе. Также метод addMusic (или что-то похожее) и добавляете композиции в список и в методе search ищите в списке текущего объекта.
1
9 / 3 / 2
Регистрация: 15.04.2012
Сообщений: 185
25.03.2015, 21:58  [ТС] 3
Так а каким образом работать с объектом CD как со списком? Просто прописывать индексы в круглых скобках?
По сути у меня ведь так и происходит? Список - поле класса. Инициализируется в конструкторе.
0
282 / 262 / 173
Регистрация: 27.07.2014
Сообщений: 584
25.03.2015, 22:03 4
Лучший ответ Сообщение было отмечено sergey_viper как решение

Решение

Java
1
CDObject.getList().get(index);
1
10 / 10 / 1
Регистрация: 12.07.2013
Сообщений: 147
26.03.2015, 02:49 5
А чем не устраивает работать через объект CD?
Можно в принципе объявить поле со списком как static.
0
9 / 3 / 2
Регистрация: 15.04.2012
Сообщений: 185
26.03.2015, 13:42  [ТС] 6
Ханасака,Так пока нет объекта типа CD я же не могу искать в списке его треков треки заданной длины.
В том-то и смысл, не нарушая принципов ООП решить эту задачу.
Sanan07, спасибо, понял всё
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.03.2015, 13:42

Как вызвать из одного класса (для метода типа void) метод типа boolean другого класса?
ребят, только учусь и конечно, вопросов возникает много. ситуация вот в чем. есть массив. я должна...

Создать экземпляр одного класса в Main, и передать его в экземпляр другого класса
Добрый день. Подскажите пожалуйста. есть несколько классов-файлов в одном пакете. class one...

Объект внутренного класса как аргумент метода внутренного класса
Как задать объект внутренного класса в виде аргумента метода внутреннего класса? У меня выходит...

LinkedList составленный из объектов класса, как обратиться к полям объектов
Не могу сообразить как обратиться к полям объектов, добавленных в LinkedList. Суть такая: есть...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.