ArrayList (или любой список) принимает дубликаты.
Однако, поскольку вы хотите сгруппировать мономы по их мощности, вы можете рассмотреть возможность использования Map<Integer,Foo>
, где ключ - это сила.У Фу есть много вариантов.Foo может быть ArrayList<Monomial>
, ArrayList<Double>
, содержащим только коэффициенты, которые вы добавите позже.Это требует написания некоторого кода с вашей стороны или использования третьей частично библиотеки для MultiMap.
Или Foo может быть Double, представляющим суммированный коэффициент, и в этом случае вам нужно написать add (Monomial)метод, который обновляет Double каждый раз.
Если возможный диапазон мощностей мал и известен, вы также можете использовать простой массив.