Convertendo resultset

Gostaria de saber se tem como converter um resultset para uma collection?

Eu faço dessa forma:

public static List listarRest(conexao com)
	{
		Connection conn = com.retornaConexao();
		
		List list = new ArrayList();	
		
		PreparedStatement stmtListar;
		
		ResultSet rs;
		try 
		{
			
			stmtListar = conn.prepareStatement("select * from restaurante order by nome_rest;");
						
			rs = stmtListar.executeQuery();		
			
			while(rs.next())
			{
				list.add(new restaurante(rs.getInt("id_rest"), rs.getString("nome_rest"), rs.getString("local_rest"), rs.getString("tel_rest") ));				
			}			
			
			rs.close();
			
			stmtListar.close();
			
		} 
		catch (Exception e) 
		{
			// TODO Auto-generated catch block
			JOptionPane.showMessageDialog(null,"Erro na conexão com banco de dados!\n" + e.toString(), "Erro", 1);		
		}
				
		return list;		
	}

Em que defino que o método retornará um List;
Depois declaro uma variável do tipo List criando um objeto ArrayList;
Executo o ResultSet e para cada linha percorrida adiciono no List um novo objeto do tipo que desejo manipular (Vc deve criar um método construtor para suportar isso);
E ao final retorno o objeto List

Depois é só manipular essa lista fazendo casting para o Tipo de Classe ao qual fazem partes os objetos inseridos na Lista.

Espero ter ajudado.