Для простого хранения простых значений вы должны использовать реализацию интерфейса List<E>
.
Чтобы получить данные из List<E>
, вы можете сделать следующее:
list.get(index); // will get data at a given index
// or you can iterate over all of the items in the list
for(E item: list) {
// use E
}
В зависимости от вашего использования ArrayList<E>
или LinkedList<E>
будет делать то, что вам нужно.
Другой вариант будет Map<K, V>
(это реализация HashMap
).Это позволит вам сохранить повторяющиеся значения под уникальными ключами.
Вы можете получить значения из Map<K,V>
следующими способами:
map.get(someKey); // will retrieve the value associated with a key
// or you can iterate through all of the entries in a map like so:
for(Entry<K,V> entry: map.entrySet()){
// use entry
}
Ответ на ваши изменения:
Возможно, вы захотитеиспользовать Map<String, List<String>>
, где ключ - это имя файла, а значение - список слов в файле.
Ваш код может выглядеть следующим образом:
Map<String, List<String>> data = new HashMap<String, List<String>>();
for(File f: files) {
List<String> words = new ArrayList<String();
data.put(f.getName(), words);
Scanner s = new Scanner(f);
while(s.hasNext()) {
words.add(s.next());
}
}
В конце этого фрагмента data
будет заполнен списками слов из каждого файла.