Вместо использования HashMap используйте Multimap. А по ключу получаем значение в объекте Collection. затем из каждой коллекции добавьте одно значение во весь список.
Multimap myList = ArrayListMultimap.create ();
myList.put("key","value1");
myList.put("key","value2");
myList.put("key","value3");
myList.put("key","value4");
myList.put("key1","value5");
myList.put("key1","value6");
myList.put("key1","value7");
myList.put("key1","value8");
myList.put("key2","value9");
myList.put("key2","value10");
myList.put("key2","value11");
myList.put("key2","value12");
myList.put("key3","value13");
myList.put("key3","value14");
myList.put("key3","value15");
myList.put("key3","value16");
Тогда получите все ключи из списка
Set myKeySet = myList.keySet();
Object[] keys = myKeySet.toArray();
Теперь у вас есть набор всех ключей. то
HashMap<String, String> listHashMap1 = new HashMap<>();
HashMap<String, String> listHashMap2 = new HashMap<>();
HashMap<String, String> listHashMap3 = new HashMap<>();
HashMap<String, String> listHashMap4 = new HashMap<>();
Теперь добавьте значение в каждый список
for(int i=0;i<4;i++){
List<String> keyval = (List)myList.get((String)keys[i]);
listHashMap1.put((String)keys[i],keyval.get(0));
listHashMap2.put((String)keys[i],keyval.get(1));
listHashMap3.put((String)keys[i],keyval.get(2));
listHashMap4.put((String)keys[i],keyval.get(3));
}
Теперь у вас есть набор из четырех строк. Эта мультикарта использует Google Guava.
Таким образом, вы должны реализовать гуаву в своем Gradle, как показано ниже:
реализация 'com.google.guava: guava: 26.0-jre'