Dúvidas sobre aumentar tamanho de um vetor em java

Fale pessoal, estou com um grave problema… observem: meprblema está em negrito.

package lista1;
import io.*;
public class Ex18 {
public static void main(String[] args) {
int[]vA = new int[10];
int[]vB = new int[10];
char id;
lervetor(vA, id=‘A’);
lervetor(vB, id=‘B’);
união(vA,vB);
// diferença(vA,vB);
// soma(vA,vB);
// produto(vA,vB);
// intersecção(vA,vB);
System.exit(0);
}
static void lervetor(int vet[],char ident){
int i;
for(i=0;i<10;i++)
vet[i]=InOut.leInt(“Informe o valor da posição [”+i+"] do vetor “+ident+”:");
}
static void união(int v1[], int v2[]){
String msg="";
int x=10, a, b;
boolean acrescenta=true;
int[] Delta = new int[x];
for(a=0;a<10;a++){
acrescenta=true;
Delta[a]=v1[a];
msg+="|"+Delta[a]+"|";
for(b=0;b<10;b++){
if(v1[a]==v2[b]){
acrescenta=false;
}
}
[b] if(acrescenta==true){
x++;
Delta[x]=v2;
msg+="|"+Delta[x]+"|";

}
}
InOut.MsgDeInformação(“UNIÃO”,“A união de Vetor A e Vetor B é:\n”+msg);
}

}

não consigo aumentar o tamanho da praga do vetor… alguém poderia me ajudar?

Olá,

Não se pode aumentar o tamanho de um vetor. Ou você cria um novo vetor do tamanho que deseja ou então pode usar um array de tamanho variavel, como ArrayList por exemplo.

[]´s

Olá!

Seja-bem vindo ao GUJ! Da próxima vez que postar códigos, não deixe de usar a tag code, como descrito neste artigo (por favor, dê uma lida).

É o que o colega falou, não é possível aumentar o tamanho de um array em Java. A forma para contornar esse problema é criar um novo array maior e depois copiar o conteúdo do antigo. Para copiar o conteúdo de Arrays, o Java tem uma função extremamente otimizada chamada System.arrayCopy.

Ou então, você pode usar uma classe, que simula os Arrays, presente na Java Collections Framework. O java disponibiliza duas, ambas crescem a medida que você precisa de elementos, chamadas ArrayList e LinkedList. Na verdade, até existem outras classes, mas para uso mais específico, como programação concorrente.

A forma correta de uso de uma dessas listas é:
List<Integer> suaLista = new ArrayList<Integer>();

Note que, apesar de instanciar uma lista do tipo ArrayList, crio um ponteiro do tipo List. Isso me permite que eu troque o tipo da lista no futuro, se necessário.

Dê uma pesquisada em toda Java Collections Framework. É um dos pontos fortes do Java.

bom quando vc cria um array e define seu tamanho nesse seu caso

nt[]vA = new int[10];
int[]vB = new int[10];

Não tem como vc aumentar ou diminuir, ja que o tamanho foi definido… veja os link do vinny ai que é melhor opção para criar os array… procure tb a class ArrayList ela vai atender sua necessidade…

e dar uma lida depois nesse tutorial, bem legal

http://www.guj.com.br/posts/list/50115.java

Embora não seja possível redimensionar um array em Java, é possível criar um novo array com o tamanho desejado, copiar o array antigo sobre o novo, e então desalocar o array antigo. Exemplo:

int[] array = new int[20];
...
int[] tmp = new int[50];
System.arraycopy (array, 0, tmp, 0, Math.min (array.length, tmp.length)); // isto copia o array antigo sobre o novo
array = tmp; // isto desaloca o array antigo
tmp = null;  // isto remove a referência 

Como de costume, encapsule isto em um método, para ser reusado.

eu agradeço a todos pela atençao e colaboraçao.

fico muito feliz em saber que posso contar com vcs, e contem comigo quando precisarem…

um forte abraço.

How to resize an array in Java:

http://www.source-code.biz/snippets/java/3.htm