jash hashmap со списком в качестве значения свойства - PullRequest
1 голос
/ 11 октября 2011

У меня есть HashMap в следующем формате.

HashMap<String, List<String>> map

Я безуспешно пытаюсь найти лучший способ записать это в файл свойств, это возможно?У меня не было проблем с HashMap<String, String> hashmap, но когда значение равно List, я не могу найти лучший способ сохранить это.Мне все равно, есть ли он в формате xml или в каком-либо другом формате, просто чтобы я мог легко открыть файл и сериализовать его или что-то обратно в хеш-карту.

Ответы [ 3 ]

4 голосов
/ 11 октября 2011

Во-первых, вы можете рассмотреть возможность использования ListMultimap из Гуавы.Он реализует Map<Key, List<Value>>.

Далее, я бы настроил схему XML, где каждый элемент имеет имя и список значений.Используйте JAXB, чтобы упорядочить данные в файл.

1 голос
/ 11 октября 2011

Я не уверен, что вы в данный момент делаете, но вы всегда можете просто получить набор Map.Entry<String,List<String>> экземпляров, которые составляют карту, и выписать их любым удобным для вас способом.См. this .

Код псевдо будет выглядеть примерно так:

for (Map.Entry<String,List<String>> entry : map.entrySet()) {
    String key = entry.getKey();
    List<String> value = entry.getValue();

    // now loop over value, which will be of type List<String>
}
0 голосов
/ 11 октября 2011

HashMap является Сериализуемым;так что вы можете сделать это по умолчанию.

FileOutputStream fileStream = new FileOutputStream("map.map");
ObjectOutputStream os = new ObjectOutputStream(fileStream);
os.writeObject(map);
os.close();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...