Vector

5 respostas
R

Olá… minha duvida é bem simples para a maioria aqui…
Estou tentando adicionar um inteiro a um vetor e não esta aceitando…
Vetores só aceitam String?
É possivel criar vetores multidimensionais?

Desde já agradeço.

5 Respostas

J

O qeu esta acontecendo eh que vectors guardam somente Objetos. e String é um objeto. Entao o que vc pode fazer é criar um array de inteiros.
ex:
int Vetor[] = null;

O que ja o torna um array de inteiros multidimencional.
O que vc temque tomar cuidado é que esse tipo de vetor ocupa muito espaço em memória, muito mais do que se vc atribuisse um valor fixo.

ahhh, vc pode no caso passar o seu inteiro pra string e dai guarda-lo, e depois reconverte-lo para inteiro, mas acho que vc ja havia pensado nisso.

Até mais.

H

Vetores aceitam apenas objetos, sejam de que classe forem. Para adicionar um inteiro a um vetor, você tem que ‘vestí-lo’ com um objeto.
Existe um grupo de classes justamente com esse propósito: as classes ‘wrappers’. São elas

Integer, Float, Double, etc.

No seu caso seria algo como

v.addElement(new Integer(4));

Vetores multidimensionais podem ser construídos adicionando objetos Vector a um objeto Vector.

Se as dimensões forem conhecidas a priori, é melhor utilizar arrays em conjunto com a classe Arrays.

R

obrigado pela ajuda, pórém tem outro problema.
Eu quero que o programa peça para o usuario entrar com o código para ser mostrado os dados. O código é numérico e ele da uma imcompatibilidade de dados na hora de obter os dados ( isto eu já esperava, porém num consigo resolver).
Como q eu faço pra poder imprimir os dados?
Coloquei parte do código do programa abaixo:

if (opcao.equalsIgnoreCase(consulta))

{

x = Console.readInt(“Entre com o codigo:);

r1 = nome.get(x);

System.out.println(r1);

r2 = estado.get(x);

System.out.println(r2);

r3 = nome.get(x);

System.out.println(r3);

}
J

Quando vcrecupera um objeto deum vrtor vc precisa fazer casting p/ o tipo que vc esta esperando.
Ex:

Vector vet = new Vector();
vet.add("Teste");
String x = (String) vet.get(0);

Vc tem que recuperar o objeto pela posição que ele foi inserido.
Lembre-seque as posições sempre começam em zero.
Esperote ajudado.

[]'s

E

:idea:

Só para reforçar a ideia do cast a fazer com que vc não tenha problema com herança.[color=“brown”][/color]

Criado 3 de dezembro de 2003
Ultima resposta 6 de dez. de 2003
Respostas 5
Participantes 5