Vetor, Array ou List?

4 respostas
leonatercio

Este método mostra direitinho dentro de uma jTable (resultados), só que mostra os mesmos nomes de times de um lado e outro da tabela... quero mostrar do lado esquerdo "Time A" o time normalmente e do lado direito "Time B" os times embaralhados sem se repetir o confronto!

Quem puder dar outra alternativa de como fazer isso usando List ou Array...

Abaixo vai o código do método...

public void atualizaTabela() throws SQLException {
        DefaultTableModel dtm = (DefaultTableModel) resultados.getModel();
        while (dtm.getRowCount() > 0) {
            dtm.removeRow(0);
        }

        Connection con = Conexao.abrirConexao();
        String sqlTabela = "SELECT * FROM times WHERE torneio_id = " + torneioCombo.getSelectedIndex() + " "
                + "ORDER BY nome ASC";

        Vector<Vector> dados = new Vector<Vector>();

        PreparedStatement ps = con.prepareStatement(sqlTabela);
        ResultSet rs = ps.executeQuery();

        while (rs.next()) {

            String clube1 = rs.getString("nome");
            String gols = null;
            String x = "x";
            String gols2 = null;
            String clube2 = rs.getString("nome");

            Vector registrosLidos = new Vector();
            registrosLidos.add(clube1);
            registrosLidos.add(gols);
            registrosLidos.add(x);
            registrosLidos.add(gols2);
            registrosLidos.add(clube1);

            dados.add(registrosLidos);

            }

            for (int i = 0; i < dados.size(); i++) {
                dtm.addRow(dados.get(i));
            }
          
        }

Abaixo mostrando imagem do programa... como está
[img]http://img10.imageshack.us/img10/5035/34309601.jpg[/img]

Alguém aí pra me ajudar???

4 Respostas

thiago.correa

O algoritmo é o mesmo, só vai mudar a estrutura de dados que está sendo utilizada, até acho melhor usar Vector nesse ponto, pois o mesmo é sincronizado.

ViniGodoy

E o que tem a ver ele ser sincronizado? Ele nem sequer usa multiplas threads…

MarkKnopfler

Cria uma outra lista paralela, colocando só os nomes do time. Nesta lista vc faz:

Collections.shuffle(listaTimes); // embaralhando uma coleção

Depois vc faz um loop atribuindo os times dessa coleção à lista principal, em sequência, e testando se há repetição.

Hebert_Coelho

E o que tem a ver ele ser sincronizado? Ele nem sequer usa multiplas threads…

+1

Criado 20 de novembro de 2012
Ultima resposta 20 de nov. de 2012
Respostas 4
Participantes 5