Не выполнять поиск на стороне Java. Это неоправданно медленно и нехватка памяти. Вы в основном берете на себя работу, для которой предназначена БД. Просто дайте БД выполнить работу, для которой она предназначена: выбор и возврат именно тех данных, которые вам нужны, с помощью возможностей языка SQL.
Начните изучать SQL WHERE
предложение . Например, чтобы проверить соответствие имени пользователя и пароля, выполните:
connection = database.getConnection();
preparedStatement = connection.prepareStatement("SELECT * FROM user WHERE username=? AND password=md5(?)");
preparedStatement.setString(1, username);
preparedStatement.setString(2, password);
resultSet = preparedStatement.executeQuery();
if (resultSet.next()) {
// Match found!
} else {
// No match!
}