Вже відповіли вище, але ось інший підхід, який ви можете застосувати. Я не можу знайти оригінальний пост, з якого я це адаптував, але ось код для вашого запитання. Як зазначалося вище, функція flatMap () - це те, що ви хотіли б використовувати з Java 8. Ви можете передати її в клас утиліти і просто викликати "RandomUtils.combine (list1, list2, ...);" і ви отримаєте єдиний Список із усіма значеннями. Тільки будьте обережні з підстановкою - ви можете змінити це, якщо хочете менш загальний метод. Ви також можете змінити його для наборів - вам просто потрібно подбати, використовуючи flatMap () на наборах, щоб уникнути втрати даних від методів equals / hashCode через природу інтерфейсу Set.
public static <T> List<?> combine(final List<?>... lists) {
return Stream.of(lists).flatMap(List::stream).collect(Collectors.toList());
}
{a: [1,2], b[3,4]}
, чи хочете ви об’єднати їх, наприклад[1,2,3,4]
, або скласти список списків[[1,2],[3,4]]
, або зафіксувати в архіві[[1,3],[2,4]]
? Також ви знаєте, що на карті немає порядку, чи не так?