Так я могу написать:
Java: Как я могу написать HashMap <String, HashMap <Integer, ArrayList <Integer> >> в файл?
HashMap<String, ArrayList<Integer>> ...
, но когда речь идет о структуре, как
HashMap<String, HashMap<Integer, ArrayList<Integer>>> ...
я не ...
Set<String> keys = outer.keySet();
List<String> list = sortList(keys);
Iterator<String> it = list.iterator();
HashMap<Integer,ArrayList<Integer>> inner=new HashMap<Integer,ArrayList<Integer>>();
while (it.hasNext()) {
String key = it.next();
Set<Integer> ids= inner.keySet();
List<Integer> positions=sortList(ids);
Iterator<Integer> itIn=positions.iterator();
while(itIn.hasNext()){
String id= it.next();
output.write(key + "\t" + outer.get(key) + " " +inner.get(id) +"\n");
}
}
Мой код может написать все внешние ключи имеют и первые элементы Integer1, но не могут видеть список или так далее.
Как я могу установить соединение с внутренним хэшмапом и внешним хэшмапом?
Вы действительно хотите написать этот код? Посмотрите на переменную 'inner', вы создаете ее прямо сейчас, и вы хотите перебрать ее? Эта коллекция пуста, поэтому внутри нее не может быть никаких значений. – SHiRKiT
Я не хотел, это лучшая грубая идея, которую я имел. да, я не мог понять, как интегрировать внешние значения во внутренний – anonym
. Затем перестаньте думать о хэшмапах, arraylists и дальше, и начните думать как матрицу. Что у вас там? Действительно специальная карта. Вы перенаправляете значения Srings в Integer и затем в Integer. Итак, думая в трехмерной матрице, у нас есть матрица [String] [Integer] [Integer]. Попробуйте этот подход, если вы можете придумать лучшее решение. Но это действительно похоже на ошибку в подходе. Подумайте, как 3D-матрицу, и вы ее получите. Я успешно сделал идею сериализации 3D-матрицы, но при использовании 'HashMap >>' все стало очень сложно. –
SHiRKiT