Duvida como armazenar SortedMap apos ciclo

Alguem me pode ajudar aqui?

Estou desenvolvendo uma aplicaçao com ligaçao a base de dados.
Aqui esta uma parte do codigo:

[code]public class exames_paciente_admin extends javax.swing.JFrame {

/** Creates new form exames_paciente_admin */
public exames_paciente_admin() {
    initComponents();
    acederbd ligar= new acederbd();
    ligar.connect("postgres", "1234" , "");
    String nome_paciente= Main.sel;
    nome_paciente_Label.setText(nome_paciente);
    String numbi=ligar.get_id_pessoa(nome_paciente);
    Main.exames=ligar.getExame(numbi);
    int nexames= ligar.getnumexame(Main.exames).getSize();
    ListModel mapa_exam=(ListModel) ligar.getnumexame(Main.exames);
    Main.map=null;
    int a=0;
    for (int x=1; x<= nexames; a+=x,x++){
        String [] exame= new String [nexames];
        String exa ="Exame"+" "+x;
        exame[a]=exa;
        String directoria= (String) mapa_exam.getElementAt(0);
        SortedMap<String,String> map = new TreeMap<String,String>();
        map.put(exame[a], directoria);
        Main.map.putAll(map);
    }
    System.out.println(Main.map);[/code]

no main tenho isto:

public static SortedMap<String, String> map;

eu queria que depois do ciclo, tivesse disponivel o SortedMap com todos os elementos criados no ciclo, mas o Main.map.putAll(map) não esta funcionando…

eu sou novo em java, não sei muito disto… Alguem tem uma sugestao?

obrigado

No fim do ciclo queria ficar com uma coisa do tipo:

<Exame 1, C:\etc>
<Exame 2, C:\outra_coisa>
<Exame 3, C:\asdqw…>

alguem tem ideia?

Ola,

Ha uma centena de coisas para melhorar na sua implementacao e design… mas olhando especificamente para
o problema em questao, voce esta instanciando um TreeMap a cada iteracao do laco for

SortedMap<String,String> map = new TreeMap<String,String>(); map.put(exame[a], directoria); Main.map.putAll(map);

O que voce precisa eh:

SortedMap<String,String> map = new TreeMap<String,String>(); for(...) { ... map.put(exame[a], directoria); } Main.map.putAll(map);

[ ]'s

[quote=schranko]Ola,

Ha uma centena de coisas para melhorar na sua implementacao e design… mas olhando especificamente para
o problema em questao, voce esta instanciando um TreeMap a cada iteracao do laco for

SortedMap<String,String> map = new TreeMap<String,String>(); map.put(exame[a], directoria); Main.map.putAll(map);

O que voce precisa eh:

SortedMap<String,String> map = new TreeMap<String,String>(); for(...) { ... map.put(exame[a], directoria); } Main.map.putAll(map);

[ ]'s
[/quote]

Tentei fazer isso agora mas nao deu :confused:

apareceu este erro: Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException

meti para imprimir e nao deu nada…

Main.map.putAll(map); System.out.println(Main.map);

WTF???

Porque voce esta fazendo isso?

Main.map=null;

Sugestao: Use um debugger.

[ ]'s

[quote=schranko]WTF???

Porque voce esta fazendo isso?

Main.map=null;

Sugestao: Use um debugger.

[ ]'s[/quote]

se nao fizer isso, ele vai estar sempre a adicionar ao Main.map! Com isso eu quero que quando abra a janela, faça um “reset” a essa variavel :wink:

pochemu by vam ne izuchitʹ! :)))

Desculpe, minha namorada roubou o teclado e lhe mandou uma mensagem :slight_smile:

Mas no caso Main.map.putAll(map) ira disparar uma NullPointerException!
Eh isso mesmo que voce quer?

Fui.

[]'s