Создание объединения нескольких наборов, на которое влияют изменения в исходных наборах

Для задания мне нужно написать метод, который объединяет несколько наборов в один набор и возвращает его.

Это достаточно просто, но интерфейс указывает, что возвращаемый набор должен поддерживаться группой наборов, то есть изменение одного из подмножеств влияет на превышение.

Создав набор и используя .addAll() для каждого из подмножеств, приведет ли это к желаемому поведению? Javadoc не говорит, является ли это поверхностной или глубокой копией.


person DieKatzchen    schedule 26.04.2014    source источник
comment
Ну можно было просто попробовать...   -  person Oliver Charlesworth    schedule 27.04.2014
comment
Я мог бы, но я в нескольких часах от того, чтобы довести программу до тестируемого состояния. Я хочу попросить сейчас, когда я вижу проблему, дать людям время взвеситься, прежде чем я загоню себя в угол.   -  person DieKatzchen    schedule 27.04.2014
comment
см. это: stackoverflow.com/questions/393968/ codeproject.com/Questions/202720/union-of-two-set-in-java   -  person Asif Bhutto    schedule 27.04.2014
comment
Ни в одной из этих статей не говорится, будут ли подмножества влиять на результирующее объединение. Единственный другой способ, который я могу придумать, - это добавить дополнительный набор в мой класс и изменить мои добавления и удаления, чтобы также добавлять и удалять из этого набора. Но это просто ужасно глупо.   -  person DieKatzchen    schedule 27.04.2014
comment
Это то, что вы можете протестировать за 5 минут в отдельной 10-строчной тестовой программе.   -  person Oliver Charlesworth    schedule 27.04.2014
comment
@ user3577196: Вам не нужно пробовать это в своей большой программе. Это похоже на 5 строк кода Java для проверки поведения. Но я думаю, что документы в этом случае достаточно ясны: Добавляет все элементы в указанную коллекцию..., например, элементы в коллекции при вызове addAll().   -  person Mark Peters    schedule 27.04.2014
comment
И, кстати, удаленный ответ, который вы прокомментировали, на самом деле сделал то, что вы хотите, вам просто нужно было прочитать документы для Гуавы Sets.union вместо того, чтобы предполагать, что он неверен.   -  person Mark Peters    schedule 27.04.2014
comment
Хорошая точка зрения. Немного сумасшедший момент. Для всех, кто найдет этот вопрос, ответ - нет, изменение подмножеств не влияет на надмножество. План Кладж это!   -  person DieKatzchen    schedule 27.04.2014


Ответы (1)


Для всех, кто находит этот вопрос, ответ - нет, изменение подмножеств не влияет на надмножество, если вы использовали .addAll() из стандартной библиотеки.

person DieKatzchen    schedule 27.04.2014