Я работаю на Java, и у меня есть три списка, состоящих из массивов, заполненных строками (List), из которых я создал потоки.Первый список содержит несколько массивов с двумя строками внутри (назовем их COUNTRY и CITY).Второй список имеет тот же формат, но состоит из CITY и ROAD, а затем окончательный список содержит массивы с 5 строками (ROAD, A, B, C и D).
Что мне нужно сделать, это объединить эти три списка в один, где каждая СТРАНА связана с каждой ДОРОГОЙ на основе значения CITY, если они совпадают, а затем добавить все данные, которые мы имеем из каждой ДОРОГИ.
Так, например, переходя от:
List1: ["COUNTRY1", "CITY1"], [...]
List2: ["CITY1", "ROAD1"], [...]
List3: ["ROAD1", "A", "B", "C", "D"], [...]
к:
output: ["COUNTRY1", "CITY1", "ROAD1", "A", "B", "C", "D"]
, важно отметить, что каждая страна появляется несколько раз с разными городами, и каждый город появляется несколько разс разными дорогами, иногда несколько городов разделяют одну и ту же дорогу, но в списке массивов с 5 строками каждая дорога уникальна.
tl; dr:
Мне нужно объединить все дороги иих данные в города, с которыми они связаны, и в страны, связанные с этими городами.Я полностью новичок в Java, но мне сказали, что потоки - это путь, поскольку мои данные содержат пару десятков ГБ.
Есть ли эффективный способ сделать это?