У меня есть список этого типа List<HashMap<String, Object>>
ResultSet, который содержит результат запроса к базе данных.
Я хотел вызвать stream () для объекта List. Как я могу это сделать ?
Этот код создать мой список:
public class ResultSetToMap {
int Columns = 0;
List<Map<String, String>> data = new ArrayList<Map<String, String>>();
HashMap<String, Object> row = new HashMap<>();
public List ResultSetToMap(ResultSet rs) throws SQLException {
ResultSetMetaData md = rs.getMetaData();
int columns = md.getColumnCount();
List<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
while (rs.next()) {
row = new HashMap<String, Object>(columns);
for (int i = 1; i <= columns; ++i) {
row.put(md.getColumnName(i), rs.getObject(i));
}
list.add(row);
}
return list;
}
}
Я могу запросить данные списка следующим образом:
for (HashMap<String, Object> map : list) {
for (Map.Entry<String, Object> entry : map.entrySet()) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
}
И я хочу сделать запросы об этих данных позже. Типа:
films.stream()
.filter(Film.LENGTH.greaterThan(60))
.sorted(Film.TITLE)
.forEach(System.out::println);