Como pegar varios valores de retorno do Banco de Dados?

Boa noite!, Estou com uma dúvida que é a seguinte, quando eu faço uma consulta no banco ele pode me retornar mais de dois nomes, e só consigo pegar um. A idéia é filtrar os nomes dos médicos pelo tipo de médico(Neurocirurgião, Entre outros) e depois pegar esses nomes e colocar em uma ComboBox.

Aqui está o código porém retorna apenas um nome.

Criei uma função para isso.

public String tipoMedico(String tipo)
{
try{
Statement comando = cone.createStatement();
ResultSet rs = comando.executeQuery("SELECT Nome,Tipo FROM `medicos`                    
WHERE Tipo='"+tipo+"';");//Se tiver dois médicos do mesmo tipo, era  
para retornar mais de um nome, quero saber como pegar todos os nomes  
que retornar.

while(rs.next()) {

          String Tipo = rs.getString("Tipo");
            String Nome1 = rs.getString("Nome");

            if(tipo.equals(Tipo)){                    

             return Nome1;
              }
}}
catch(SQLException e)
{
  JOptionPane.showMessageDialog(null,"Erro na Conexão com o Banco de 
Dados");
}
 return "Não encontrado";
}

Depois chamar os Nomes em uma ComboBox.

   private void cbTipoActionPerformed(java.awt.event.ActionEvent evt) {   
   String nome =  
   dado.tipoMedico(cbTipo.getItemAt(cbTipo.getSelectedIndex()));
   String tipo = cbTipo.getItemAt(cbTipo.getSelectedIndex());
    switch(tipo)
   {
    case "Neurocirurgião": cbDoutor.removeAllItems();
    cbDoutor.addItem(nome);//Aqui eu adiciono o nome retornado do banco   
    na comboBox
      break;
      case "Clinico Geral": cbDoutor.removeAllItems();
       cbDoutor.addItem(nome);
      break;

     }}

Voce precisa de um ArrayList para armazenar os nomes.
Lembre também de mudar o tipo de retorno do método para ArrayList de String já que iremos retornar uma lista de nomes.

Quando for pegar os nomes dos médicos dessa lista em outra classe lembre-se de que você terá de fazer outro ArrayList para receber o que está sendo passado por esse método.

Espero ter ajudado.

Eu modificaria o método para, ao invés de retornar String, retornar uma lista de Medico, onde a classe Medico tenha os atributos nome e tipo.

Organiza esse código ai rss…

Você precisar fazer algo assim:

	public List<Medico> listarMedicosPorTipo(String tipo, Connection con) throws Exception {
		List<Medico> medicos = null;

		String sql = "SELECT NOME, TIPO FROM medicos WHERE Tipo= ?";

		PreparedStatement pStmt = con.prepareStatement(sql);
		pStmt.setString(1, tipo);

		ResultSet rS = pStmt.executeQuery();

		medicos = new ArrayList<>();

		while (rS.next()) {
			medicos.add(new Medico(rS.getString("NOME"), rS.getString("TIPO")));
		}
		
		rS.close();
		pStmt.close();

		return medicos;
	}

Como já falaram, você retorna uma lista de medicos. Outra coisa, deixa para tratar exceções lá onde você for usar o método e não dentro dele, o ideal é você dividir em várias camadas (Conexao/DAO/BO/Excecoes).