Скажите, у меня есть два списка:
List<String>products = new ArrayList<String>();
products.add("computer");
products.add("phone");
products.add("mouse");
products.add("keyboard");
List<String>cart = new ArrayList<String>();
cart.add("phone");
cart.add("monitor");
Мне нужно выяснить, сколько товаров в списке корзин существует в списке товаров. Для списков, приведенных выше, ответ будет 1 (так как телефон в продуктах и корзине). Если список корзины был:
List<String>cart = new ArrayList<String>();
cart.add("desk");
cart.add("chair");
Результат будет равен 0. Если в корзине есть компьютер, мышь, стол, стул, результат будет равен 2 (для компьютера и мыши).
Есть ли что-то в коллекциях Apache Commons или Google Collections API ? Я просмотрел их и увидел способы подсчета сумок, но не из другого списка, хотя, возможно, я что-то упустил. Прямо сейчас, единственный способ, которым я могу придумать, состоит в том, чтобы перебрать элементы корзины и посмотреть, содержит ли продукция отдельный элемент и вести подсчет. Я не могу использовать containsAll , так как мне нужно количество (не логическое значение), и это может привести к сбою, если все товары в корзине отсутствуют в списке продуктов (что может произойти).
Я использую Java 1.6, если это имеет значение.