powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / grouping by multiple fields
10 сообщений из 10, страница 1 из 1
grouping by multiple fields
    #40050442
Hubertanyan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!
Есть такая структура
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
public class Item {
    
    private Long idGood;

    private String name;

    private String description;

    private Double cost;

    private String partNum;

    private Date date;
    
    private String shop;
}


есть такой список

idGoodnamedescriptioncostpartNumdateshop78name1description150015-101.03.2010shop178name1description150015-101.03.2010shop278name1description150015-101.03.2010shop3.....................78name1description130015-101.03.2010shop578name1description130015-101.03.2010shop6.....................78name1description110015-101.03.2010shop878name1description110015-2101.03.2010shop8.....................78name2description250015-101.03.2010shop8
В итоге нужно сгруппировать элементы списка - группировать нужно в случае если все поля, кроме поля shop, равны. В случае если какое-либо боле различается, то в результате это разные записи. В итоге должно получиться так

idGoodnamedescriptioncostpartNumdateshop78name1description150015-101.03.2010shop1,shop2,shop378name1description130015-101.03.2010shop5,shop678name1description110015-101.03.2010shop878name1description110015-2101.03.2010shop878name2description250015-101.03.2010shop8
Нашел что-то похожее (второй ответ без использования мапы)
Объединение-с-суммированием-стоимости-элементов-с-одинаковой-ценой

Но в моем случае приходится использовать дополнительные библиотеки для получения разницы между двумя объектами. Есть ли какие-то еще варианты?
Заранее спасибо!
...
Рейтинг: 0 / 0
grouping by multiple fields
    #40050462
Hubertanyan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не знаю как отредактировать изначальное сообщение...
Внесу поправки - группировать нужно в случае если все поля, кроме поля shop и idGood, равны.

idGoodnamedescriptioncostpartNumdateshop78name1description150015-101.03.2010shop178name1description150015-101.03.2010shop278name1description150015-101.03.2010shop3.....................81name1description130015-101.03.2010shop582name1description130015-101.03.2010shop6.....................83name1description110015-101.03.2010shop884name2description210015-2101.03.2010shop8.....................85name3description350015-1101.03.2010shop8

Ну и в результате должно быть так

namedescriptioncostpartNumdateshopname1description150015-101.03.2010shop1,shop2,shop3name1description130015-101.03.2010shop5,shop6name1description110015-101.03.2010shop8name2description210015-2101.03.2010shop8name3description350015-1101.03.2010shop8
...
Рейтинг: 0 / 0
grouping by multiple fields
    #40050473
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hubertanyan
Есть ли какие-то еще варианты?
функция, которая строит хеш-код на основе полей, которые используются в сравнении. По ее результату и группируем. Например Objects.hashCode(item.idGood, item.name, item.description ...)
...
Рейтинг: 0 / 0
grouping by multiple fields
    #40050527
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hubertanyan,
авторгруппировать нужно в случае если все поля, кроме поля shop и idGood, равны.
Почему вместо слова слова "стул" вы употребляете фразу "на котором сидят и имеет 4 ножки"?
GROUP BY перечисление_полей_группировки.
Так обычно говорят.
А не "кроме")))))
...
Рейтинг: 0 / 0
grouping by multiple fields
    #40050595
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хороший день. И хороший кейс чтобы потренироваться в collect/reduce.

Давайте решим эту задачу хотя-бы 2 разными способами.
...
Рейтинг: 0 / 0
grouping by multiple fields
    #40050613
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Почему 2? Один - stream.... collect...
...
Рейтинг: 0 / 0
grouping by multiple fields
    #40050626
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Безальтернативщина какая-то.
...
Рейтинг: 0 / 0
grouping by multiple fields
    #40050630
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Безальтернативщина какая-то.
и не говори.
Просто вопрос новичка что такое sql оператор GROUP BY
...
Рейтинг: 0 / 0
grouping by multiple fields
    #40050638
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Будет неэтично заболтать топик. Давай что-ли бедняге поможем. И потом - теория. Что быстрее collect или reduce
вернее что больше скушает хипа.
...
Рейтинг: 0 / 0
grouping by multiple fields
    #40050823
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поковыряться левой рукой в правом ухе?
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / grouping by multiple fields
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]