Olá,sou nova aqui no fórum, gostaria de saber como faço para criar um vetor de inteiros no Java? Até já tentei, mas não sei o que estou fazendo de errado, pois está dando um erro.
private Vector produtoId = new Vector ();
erro—> unexpected type;
se caso alguém souber o por que desde erro me respondam por favor.
A Sun não recomenda mais o uso. Ela considera o Vector “legacy API”, ou seja, está lá só pq programas já foram escritos por ele;
Todos os seus métodos são synchronized. O que significa que são mais lentos, e isso normalmente não é necessário (mesmo no caso de aplicações multi-thread);
A interface foi “recalchutada” para suportar List. Portanto, existem métodos duplicados, fora da Collections API. É o caso de add e addElement que fazem exatamente a mesma coisa. Se você cair na bobeira de usar esses métodos, fica difícil trocar de implementação no futuro.
O que eu não entendendo é… pq a galera insiste no Vector?
Usar o ArrayList é tão fácil quanto.
[quote=rod.attack]Faz isso não…não use Vector. Use um ArrayList.
ArrayList <Integer> list = new ArrayList<Integer>();
Melhor ainda é declarar assim:
List<Integer> list = new ArrayList<Integer>();
Sempre crie as referências às colections com o tipo da interface, não da classe que as implementa. Isso te permite trocar facilmente de implementação a qualquer hora, e facilita também a interoperabilidade entre coleções diferentes.
Por causa do nome. Quem quer usar vetores a primeira coisa que encontra é Vector.
Documentação/tutoriais. Mesmo as Colelctions terem sido lançadas há mais de 10 anos, livros mais velhos, mesmo com revisões atuais, ainda ensinam Vector.
E acho que 3:
Pq alguns professores desatualizados ainda ensinam assim.
Infelizmente, tem gente que mesmo conhecendo e lendo sobre o ArrayList, ainda insistirá no Vector. Era mais para essas que a minha pergunta se dirigia.
OK…mas como faço para atribuir uma valor a uma determinada posição desse ArrayList,pois com Vector se usa setElementAt e com esse ArrayList é a mesma coisa??
List<Integer> ids = carrinho.getIds(); // Integer é com letras maiúsculas, como toda classe.
List<Integer> qtd = carrinho.getQtd(); // não é necessária declarar o tipo ao obter de algum método, basta que eles sejam um List<Integer> em suas declarações.