Duvida com vetor estatico

4 respostas
F

Estou fazendo um trabalho no qual uso 4 classes extends thread para processar um arquivo txt e me retornar quantas vezes uma palavra aparece, em qual paragrafo e linhas. Criei uma classe Objeto onde tenho linha, paragrafo, qtde, palavra. Criei um vetor estatico desse objeto e as threads estao fazendo os calculos certos. O problema é que sao multiplos arquivos e apos processar cada arquivo devo jogar o vetor dentro de uma hashtable para depois fazer uma pesquisa por arquivo, cada vez que entra um novo arquivo, zero os valores e dou new no vetor, realizo os calculos e jogo na hash só que quando vou pesquisar todos vetores na hash estao com as palavras do ultimo arquivo.

j=0;
while(j<tam2){//tam2 é quantidade de arquivos a serem lidos    
          
    preencheTabela(arquivos[j]); // procedimento que chama as threads passando o arquivo a ser executado
     String chave=caminho;
    Objeto[] vetor=new Objeto[1000];
     vetor=aux; //aux é meu vetor estatico
     Principal.tabela1.put(caminho,vetor);      
   j++;
    }

Nesse caso nao posso usar o vetor estatico??

4 Respostas

JuniorMaia

acredito que no seu caso não, pois por ser estático, ele irá guardar sempre o último, se ele não for estático, toda mudança feita no vetor, será armazenada, retornando o que tu queres.

F

Desde o inicio usei estatico pq é mais facil controlar nas threads, cada classe thread pega um numero de linhas do arquivo e armazena nas posicoes certas do vetor, agora nao sei o que fazer, alguma ideia? :?

JuniorMaia

você pode manter o vetor estático para as linhas, e criar um auxiliar para os valores, apenas publico

ViniGodoy

Usar coisas estáticas com thread geralmente resulta em desastre.

Criado 16 de junho de 2012
Ultima resposta 16 de jun. de 2012
Respostas 4
Participantes 3