Existe alguma maneira de escrever esse vetor em um arquivo, pois quando tento chamar na main, ele escreve isso no arquivo
[LItem;@5a9de6
estou fazendo isso aqui para escrever, não consigo ver nada de errado, mas sei que tem algum problema na hora de pedir para escrever, o que seria?
FileWriter sizeData = new FileWriter("arquivo.txt");
BufferedWriter vetor = new BufferedWriter(sizeData);
System.out.println("Entre com o tamanho do vetor");
n = sc.nextInt();
v = Ordenacao.arrayRandom(n);
vetor.write(String.valueOf(v));
vetor.close();
O método arrayRandom, gera um vetor aleatório a partir do tamanho passado por parâmetro
public static Item[] arrayRandom(int tam){
ArrayList<Item> rnd = new ArrayList<Item>();
while(rnd.size()<tam){
int num = (int)(1+(Math.random()*100));
rnd.add(new MeuItem(num));
}
Item[] vetorRandom = rnd.toArray(new Item[rnd.size()]);
return vetorRandom;
}
As outras classes são
Item.java
public interface Item {
public int compara(Item i);
public void alteraChave(Object chave);
public Object recuperaChave();
}
MeuItem.java
public class MeuItem implements Item {
private int chave;
public MeuItem(int chave){
this.chave = chave;
}
public int compara(Item it){
MeuItem item = (MeuItem) it;
if(this.chave < item.chave)
return -1;
else if (this.chave > item.chave)
return 1;
return 0;
}
public void alteraChave(Object chave){
Integer ch = (Integer) chave;
this.chave = ch.intValue();
}
public Object recuperaChave(){
return new Integer(this.chave);
}
@Override
public String toString(){
return chave + "";
}
}