Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Troay
0 / 0 / 0
Регистрация: 19.02.2019
Сообщений: 91
1

Заполнить arraylist

17.05.2019, 16:40. Просмотров 958. Ответов 9

Люди не подскажите, можно ли паместить в один arraylist данные с разных классов или это у меня получилось, а я просто не умело вставил не туда toString(). Вот что я пытался делать:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class FlowerGirl {
        private double price;
        private String name;
        public FlowerGirl(String name, double price){
            this.price=price;
            this.name=name;
        }
 
    public double getPrice() {
        return price;
    }
 
 
    public String getName() {
        return name;
    }
    
 
    @Override
    public String toString() {
        return "price=" + price + ", name='" + name;
    }
}
Java
1
2
3
4
5
public class Accessories extends FlowerGirl {
    Accessories(String name, double price) {
        super(name, price);
    }
}

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
public class Flowers extends FlowerGirl {
    private int freshness;
    private int stemLength;
 
    Flowers(String name, double price, int freshness, int stemLength) {
        super(name, price);
        this.freshness = freshness;
        this.stemLength = stemLength;
    }
 
    public int getFreshness() {
        return freshness;
    }
 
    public int getStemLength() {
        return stemLength;
    }
 
 
        @Override
        public String toString() {
            return "freshness=" + freshness + ", stemLength=" + stemLength;
        }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.util.ArrayList;
import java.util.List;
 
public class BouquetСollection  {
 
    private List<FlowerGirl>flowerGirls=new ArrayList<>();
    public void addArrayList(FlowerGirl a){
        flowerGirls.add(a);
    }
    public void bouquet(){
        System.out.println("Весь список: ");
        flowerGirls.forEach(System.out::println);
    }
 
    @Override
    public String toString() {
        return "flowerGirls=" + flowerGirls;
    }
}

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public class Main {
    public static void main(String[]args){
        BouquetСollection bc=new BouquetСollection();
        bc.addArrayList(new Accessories("пленка", 0.4));
        bc.addArrayList(new Accessories("лента", 0.9));
        bc.addArrayList(new Flowers("Роза",2,7,12));
        bc.addArrayList(new Flowers("Ромашка",3,4,14));
        bc.addArrayList(new Flowers("Тюльпан",3.3,1,11));
        bc.addArrayList(new Flowers("Астра",2.1,2,10));
        bc.addArrayList(new Flowers("Прима",2.3,9,16));
        bc.bouquet();
    }
}
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2019, 16:40
Ответы с готовыми решениями:

Нужно заполнить ArrayList данными с XML
Вечер добрый) Имеется текст в виде XML. Что-то типа этого: &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;...

ArrayList. Стуктуриронаный тип массива. Как заполнить данными?
Подскажите пожалуйста, как заполнить динамический массив такого типа. Как ни пробовал ругается на...

Создать список оценок с помощью ArrayList, заполнить случайными оценками. Удалить неудовлетворительные оценки
Создать список оценок с помощью ArrayList, заполнить случайными оценками. Удалить...

Задача: Создать объект List с использованием объекта ArrayList, заполнить его произвольными даннами типа int....
Помогите, пожалуйста, написать вот такую программку.. &quot;Создать объект List с использованием объекта...

Для чего написано: ArrayList<person> people = new ArrayList<>();
package com.company; import java.util.ArrayList; import java.util.Iterator; public class Main {...

9
xoraxax
2045 / 1808 / 541
Регистрация: 05.07.2013
Сообщений: 8,753
Завершенные тесты: 2
17.05.2019, 16:47 2
Цитата Сообщение от Troay Посмотреть сообщение
Люди не подскажите, можно ли паместить в один arraylist данные с разных классов или это у меня получилось, а я просто не умело вставил не туда toString().
штааааа?
0
Troay
0 / 0 / 0
Регистрация: 19.02.2019
Сообщений: 91
17.05.2019, 16:53  [ТС] 3
У меня вот что выводит:

Весь список:
price=0.4, name='пленка
price=0.9, name='лента
freshness=7, stemLength=12
freshness=4, stemLength=14
freshness=1, stemLength=11
freshness=2, stemLength=10
freshness=9, stemLength=16

а ему говорю что бы он выводил все данные которые я ввёл в конструкторы.
0
Welemir1
Автоматизируй это!
2350 / 1457 / 503
Регистрация: 30.03.2015
Сообщений: 5,387
17.05.2019, 17:01 4
Цитата Сообщение от Troay Посмотреть сообщение
а ему говорю что бы он выводил все данные которые я ввёл в конструкторы.
нет, ты ему именно это и говоришь выводить в соответствующих методах туСтринг у классов

Добавлено через 44 секунды
вот конкретно методы, что ты ждал?
Цитата Сообщение от Troay Посмотреть сообщение
@Override
* * public String toString() {
* * * * return "price=" + price + ", name='" + name;
* * }
Цитата Сообщение от Troay Посмотреть сообщение
@Override
* * * * public String toString() {
* * * * * * return "freshness=" + freshness + ", stemLength=" + stemLength;
* * * * }
0
17.05.2019, 17:01
Troay
0 / 0 / 0
Регистрация: 19.02.2019
Сообщений: 91
17.05.2019, 17:04  [ТС] 5
А куда мне метод toString() вставить, что бы увидеть что у меня находиться в arraylist?
0
Welemir1
Автоматизируй это!
2350 / 1457 / 503
Регистрация: 30.03.2015
Сообщений: 5,387
17.05.2019, 17:10 6
Цитата Сообщение от Troay Посмотреть сообщение
А куда мне метод toString() вставить, что бы увидеть что у меня находиться в arraylist?

так у тебя и вывело все объекты из аррейлиста)))
или моя твоя не понимай! попробуй сосредоточиться и сформулировать простым человеческим языком, отвлекись от программирования просто скажи чего ты хочешь
0
Troay
0 / 0 / 0
Регистрация: 19.02.2019
Сообщений: 91
17.05.2019, 17:16  [ТС] 7
Я хотел вот так вывести

Весь список:
price=0.4, name=пленка
price=0.9, name=лента
price=2, name=Роза, freshness=7, stemLength=12
price=3, name=Ромашка, freshness=4, stemLength=14
price=3.3, name=Тюльпан, freshness=1, stemLength=11
price=2.1, name=Астра, freshness=2, stemLength=10
price=2.3, name=Прима, freshness=9, stemLength=16
0
Welemir1
Автоматизируй это!
2350 / 1457 / 503
Регистрация: 30.03.2015
Сообщений: 5,387
17.05.2019, 17:19 8
Лучший ответ Сообщение было отмечено Troay как решение

Решение

Цитата Сообщение от Troay Посмотреть сообщение
Я хотел вот так вывести
Цитата Сообщение от Troay Посмотреть сообщение
price=2, name=Роза, freshness=7, stemLength=12
ну значит в метод туСтинг класса Фловерс добавить вывод name и price, конкретнее вот тут

Цитата Сообщение от Troay Посмотреть сообщение
return "freshness=" + freshness + ", stemLength=" + stemLength;
0
Troay
0 / 0 / 0
Регистрация: 19.02.2019
Сообщений: 91
17.05.2019, 19:08  [ТС] 9
Хотел сортировать arraylist по параметру getFreshness. А он его не видит(класс BouquetСollection, метод sortBouquetFreshness). Можно ли это сделать не создавая новый arraylist?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class FlowerGirl {
        private double price;
        private String name;
        public FlowerGirl(String name, double price){
            this.price=price;
            this.name=name;
        }
 
    public double getPrice() {
        return price;
    }
 
 
    public String getName() {
 
            return name;
    }
 
    @Override
    public String toString() {
        return "Наименования: " + name;
    }
}
Java
1
2
3
4
5
public class Accessories extends FlowerGirl {
    Accessories(String name, double price) {
        super(name, price);
    }
}
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
public class Flowers extends FlowerGirl {
    private int freshness;
    private int stemLength;
 
    Flowers(String name, double price, int freshness, int stemLength) {
        super(name, price);
        this.freshness = freshness;
        this.stemLength = stemLength;
    }
 
    public int getFreshness() {
        return freshness;
    }
 
    public int getStemLength() {
        return stemLength;
    }
 
    @Override
    public String toString() {
        return "Наименования: " + getName();
//    }    @Override
//    public String toString() {
//        return "Наименования: " + getName()+" цена: " +getPrice()+" свежесть: " + freshness +
//                ", длинна стебля: " + stemLength;
//    }
    }
}
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
public class BouquetСollection {
    private List<FlowerGirl> flowerGirls = new ArrayList<>();
 
    public void addArrayList(FlowerGirl a) {
        flowerGirls.add(a);
    }
 
    public void bouquetСost(double summa) {
        for (FlowerGirl fg : flowerGirls) {
            summa = summa + fg.getPrice();
        }
        System.out.println("Стоимость: " + summa);
    }
 
    public void bouquet() {
        System.out.println("Состав букета: ");
        flowerGirls.forEach(System.out::println);
    }
 
    public void sortBouquetFreshness(int freshness) {
        System.out.println();
        System.out.println("Список цветов которым  4 дня или меньше: ");
        for (FlowerGirl f : flowerGirls) {
            if (f.getFreshness() < freshness) {
                System.out.println(f.toString());
            }
        }
    }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Main {
    public static void main(String[]args){
        BouquetСollection bc=new BouquetСollection();
        bc.addArrayList(new Accessories("пленка", 0.4));
        bc.addArrayList(new Accessories("лента", 0.9));
        bc.addArrayList(new Flowers("Роза",2,7,12));
        bc.addArrayList(new Flowers("Ромашка",3,4,14));
        bc.addArrayList(new Flowers("Тюльпан",3.3,1,11));
        bc.addArrayList(new Flowers("Астра",2.1,2,10));
        bc.addArrayList(new Flowers("Прима",2.3,3,16));
        bc.bouquet();
        bc.bouquetСost(0);
        bc.sortBouquetFreshness(4);
    }
}
0
Welemir1
Автоматизируй это!
2350 / 1457 / 503
Регистрация: 30.03.2015
Сообщений: 5,387
17.05.2019, 20:02 10
Цитата Сообщение от Troay Посмотреть сообщение
Хотел сортировать arraylist по параметру getFreshness. А он его не видит(класс BouquetСollection, метод sortBouquetFreshness). Можно ли это сделать не создавая новый arraylist?
можно, но для 1 впороса 1 тема на форуме. Читай про компараторы
0
17.05.2019, 20:02
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2019, 20:02

Передача ArrayList в качестве параметра методу, и в дальнейшем получение свойств объектов которые хранятся в ArrayList
Всем привет. Задача следующая: a. Есть классы Fruit -&gt; Apple, Orange;(больше фруктов не надо) b....

Обращение к элементам arraylist, который в другом arraylist
Здравствуйте. У меня есть arraylist типа arraylist. А уже каждый внутренний arraylist типа...

В чем разница между new ArrayList<String>() и new ArrayList<>()?
подскажите,знатоки,в чем разность между ArrayList &lt;String&gt; stringList = new ArrayList&lt;String&gt;();...


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

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

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