Реализация HashMap интерфейса DataSource: метод nextRow ()? - PullRequest
1 голос
/ 04 августа 2010

Я хотел бы реализовать интерфейс DataSource (на Java), который, помимо прочего, позволяет вам получать nextRow() из данных. Сначала я просто хочу реализовать хранилище данных через HashMaps, но было бы здорово абстрагироваться от базовой структуры данных и предоставить интерфейс, как уже упоминалось.

Это звучит как хорошая идея? Предоставление метода nextRow() для реализации HashMap выглядит несколько грязно - я думаю, мне нужно предоставить итератор для представления сбора данных. И я думаю, мне нужно было бы также предоставить метод resetIterator?

Для более подробной информации:

  • Я думаю, что newRow() метод вернет HashMap<String, String>
  • HashMap реализация хранилища данных будет HashMap<String, HashMap<String, String>>

Любые мысли и комментарии приветствуются!

1 Ответ

0 голосов
/ 14 июля 2011

Интерфейс Map предоставляет итераторы через .keySet () , .values ​​() и .entrySet () методы.Вы можете использовать один из них за кулисами, чтобы сделать то, что вы имеете в виду.

В дополнение к этому, HashMap для каждой строки данных - это большие накладные расходы.Если вы можете заранее исправить набор столбцов, было бы намного дешевле использовать List (возможно, ArrayList) или даже простой массив для представления каждой строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...