Galera,
Como faço para buscar um determinado elemento dentro de um Vector
Obrigado
Galera,
Como faço para buscar um determinado elemento dentro de um Vector
Obrigado
Depende, se vc tiver o indice do que vc quer use get(int index), agora se vc tem apenas uma propriedade do objeto que se encontra dentro do vector… Bom, ai só percorrendo o mesmo!!! Ex.: seu vector possui um monte de objetos Pessoa e vc quer a Pessoa que possui o nome == TedLoprao…
E Lembre-se a API é nossa amiga, :lol: !!!
Depende, se vc tiver o indice do que vc quer use get(int index), agora se vc tem apenas uma propriedade do objeto que se encontra dentro do vector… Bom, ai só percorrendo o mesmo!!! Ex.: seu vector possui um monte de objetos Pessoa e vc quer a Pessoa que possui o nome == TedLoprao…E Lembre-se a API é nossa amiga, :lol: !!!
EX:
Eu tenho 3 objetos dentro do meu Vector e em cada objeto eu tenho que buscar 3 atributos e armazenas cada um em uma String
Ou seja, tenho que percorrer meu vetor, porém como faço para pegar esses 3 atributos
EX: for(; i++){int i=0; i < v.size()
Ué… você percorre ele com o for, certo?
Então dentro do for você compara cada atributo do obj que você recuperou do vector
for(int i = 0; i < vector.size(); i++) {
Foo foo = (Foo) vector.get(i);
int atributo1 = foo.getAtributo1();
int atributo2 = foo.getAtributo2();
int atributo3 = foo.getAtributo3();
}
[]´s
Pode usar o for como vc fez:
for(int i=0; i < v.size(); i++){
Pessoa p = (Pessoa) v.get(i);
p.getAtributo1();
p.getAtributo2();
p.getAtributo3();
}
Ou use um Iterator:
Iterator it = v.iterator();
while (it.hasNext()) {
Pessoa p = (Pessoa) it.next();
p.getAtributo1();
p.getAtributo2();
p.getAtributo3();
}
É isso???
Pode usar o for como vc fez:for(int i=0; i < v.size(); i++){ Pessoa p = (Pessoa) v.get(i); p.getAtributo1(); p.getAtributo2(); p.getAtributo3(); }Ou use um Iterator:
Iterator it = v.iterator(); while (it.hasNext()) { Pessoa p = (Pessoa) it.next(); p.getAtributo1(); p.getAtributo2(); p.getAtributo3(); }É isso???
OK
Mas dá o seguinte erro
java.lang.ClassCastException
at interfacefep.DadosFEP.main(DadosFEP.java:269)
Pessoa p = (Pessoa) v.get(i);
Vc tem certeza que dentro desse vetor só tem instâncias de Pessoa ?
Isso significa q o q tu tem dentro do vector não é a classe para qual vc quer converter!!!
Vc pode fazer um debug e verificar que classe vc tem dentro do Vector, ou tentar imprimir o nome da mesma…
Fallow
Isso significa q o q tu tem dentro do vector não é a classe para qual vc quer converter!!!Vc pode fazer um debug e verificar que classe vc tem dentro do Vector, ou tentar imprimir o nome da mesma…
Fallow
Dado o código abaixo, pq quando mando exibir o conteudo do meu Vetor, os elementos não estao na ordem correta conf. o banco
Percebi que ele ordena os atributos em suas posições
O vector faz isso mesmo???
Como faço para ele vir conf. o banco
PreparedStatement ps = bd.getConnection().prepareStatement(_QUERY);
ResultSet rs = ps.executeQuery();
while(rs.next()){
linha = new Vector();
linha.addElement(rs.getString(1));
linha.addElement(rs.getString(2));
linha.addElement(rs.getString(3));
linha.addElement(rs.getString(4));
linha.addElement(rs.getString(5));
linha.addElement(rs.getString(6));
linha.addElement(rs.getString(7));
linha.addElement(rs.getString(8));
v.addElement(new PointCFH(linha.elementAt(0).toString(),linha.elementAt(1).toString(), linha.elementAt(2).toString(),linha.elementAt(3).toString(),linha.elementAt(4).toString(), linha.elementAt(5).toString(),linha.elementAt(6).toString(),linha.elementAt(7).toString()));
Hmmm, agora não entendi??? Como assim conforme o banco???
E pq vc joga o valor que vem do banco primeiro em um vector linha???
Hmmm, agora não entendi??? Como assim conforme o banco???
E pq vc joga o valor que vem do banco primeiro em um vector linha???
Olha só eu preciso pegar o Resultado de um Query e armazenar em um Objeto,
depois terei que pegar alguns atributos desse objeto, fazer alguns calculos e depois gravar em outra Tabela do Banco
E seguindo o teu código, pq vc não faz o seguinte:
// supomos que a query seja select nome, id from Pessoas
PreparedStatement ps = bd.getConnection().prepareStatement(_QUERY);
ResultSet rs = ps.executeQuery();
List pessoas = new ArrayList();
while(rs.next()){
Pessoa p = new Pessoa();
p.setNome(rs.getString(1));
p.setId(rs.getInt(2));
pessoas.add(p);
}
Agora vc tem um List com todas as pessoas… Vc pode fazer o que quiser com as classes e depois persistir como achar melhor…
Ajudou???
E seguindo o teu código, pq vc não faz o seguinte:// supomos que a query seja select nome, id from Pessoas PreparedStatement ps = bd.getConnection().prepareStatement(_QUERY); ResultSet rs = ps.executeQuery(); List pessoas = new ArrayList(); while(rs.next()){ Pessoa p = new Pessoa(); p.setNome(rs.getString(1)); p.setId(rs.getInt(2)); pessoas.add(p); }Agora vc tem um List com todas as pessoas… Vc pode fazer o que quiser com as classes e depois persistir como achar melhor…
Ajudou???
Estou fazendo alguns testes, e gosrtaria de saber:
Existe um momento eu codigo que eu tenho que buscar dados no Banco e depois Grava-los em uma outra tabela
Qto ao Classe PrepareStatement, eu tenho que passar um query para fazer um select e depois uma query para fazer o insert,
Eu tenho que criar dois objetos PrepareStatement para cada query, ou posso usar a mesma ref.???
E seguindo o teu código, pq vc não faz o seguinte:// supomos que a query seja select nome, id from Pessoas PreparedStatement ps = bd.getConnection().prepareStatement(_QUERY); ResultSet rs = ps.executeQuery(); List pessoas = new ArrayList(); while(rs.next()){ Pessoa p = new Pessoa(); p.setNome(rs.getString(1)); p.setId(rs.getInt(2)); pessoas.add(p); }Agora vc tem um List com todas as pessoas… Vc pode fazer o que quiser com as classes e depois persistir como achar melhor…
Ajudou???
Estou fazendo alguns testes, e gosrtaria de saber:
Existe um momento eu codigo que eu tenho que buscar dados no Banco e depois Grava-los em uma outra tabela
Qto ao Classe PrepareStatement, eu tenho que passar um query para fazer um select e depois uma query para fazer o insert,
Eu tenho que criar dois objetos PrepareStatement para cada query, ou posso usar a mesma ref.???
Vc terá que chamar o bd.getConnection().prepareStatement(_INSERT), por exemplo!!!