Существует ли способ проверить, содержат ли два Набора те же элементы, независимые от порядка?

Я пропускаю что-то, или необходимо ли просто установить свойство FontWeight на "Полужирный"?

<TextBlock FontWeight="Bold" Text="{Binding Foo}" />
36
задан Laurence Gonsalves 14 October 2009 в 10:01
поделиться

3 ответа

Apache commons-collections имеет CollectionUtils # isEqualCollection :

Возвращает true, если данные коллекции содержат точно такие же элементы с точно такой же мощностью.

То есть, если мощность e в a равна мощности e в b, для каждого элемента e в a или b.

Что, я думаю, именно то, что ты после.

44
ответ дан 27 November 2019 в 05:40
поделиться

Это три вызова методов, использующие Коллекции Google Guava , но, возможно, настолько прост, насколько это возможно:

HashMultiset.create(c1).equals(HashMultiset.create(c2));

Создание временных Multiset может показаться расточительным, но для эффективного сравнения коллекций вам нужно как-то их проиндексировать.

]
29
ответ дан 27 November 2019 в 05:40
поделиться

Если вы хотите игнорировать порядок, как насчет проверки наборов на равенство?

new HashSet(c1).equals(new HashSet(c2))
3
ответ дан 27 November 2019 в 05:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: