Получение разницы между двумя наборами

Да, но это необходимо сделать для каждого проекта. Это опция, доступная в меню «Сборка» свойств проекта. Нажмите «Дополнительно» в правом нижнем углу, затем выберите нужную версию языка.

Примечание. Существует ошибка VS2015 (которая исправлена в редакторе 1), который вызывает ложные негативы при авто-свойствах только для получения. Чтобы получить наилучшие результаты, убедитесь, что вы установили последнее обновление.

138
задан sergeyan 6 September 2019 в 17:52
поделиться

1 ответ

Только для помещения одного примера здесь (система находится в existingState, и мы хотим найти, что элементы удаляют (элементы, которые не находятся в newState, но присутствуют в existingState), и элементы для добавления (элементы, которые находятся в newState, но не присутствуют в existingState):

public class AddAndRemove {

  static Set<Integer> existingState = Set.of(1,2,3,4,5);
  static Set<Integer> newState = Set.of(0,5,2,11,3,99);

  public static void main(String[] args) {

    Set<Integer> add = new HashSet<>(newState);
    add.removeAll(existingState);

    System.out.println("Elements to add : " + add);

    Set<Integer> remove = new HashSet<>(existingState);
    remove.removeAll(newState);

    System.out.println("Elements to remove : " + remove);

  }
}

произвел бы это в результате:

Elements to add : [0, 99, 11]
Elements to remove : [1, 4]
0
ответ дан 23 November 2019 в 23:27
поделиться
Другие вопросы по тегам:

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