Boa tarde a todos do GUJ.
Bom pessoal, minha dúvida é a seguinte, suponhamos que eu tenha o seguinte ArrayList com os seguintes valores.
[2,45,9,14,77,31,0,1]
Então como que faço para descobrir por exemplo em que posição ta o elemento 77?
Boa tarde a todos do GUJ.
Bom pessoal, minha dúvida é a seguinte, suponhamos que eu tenha o seguinte ArrayList com os seguintes valores.
[2,45,9,14,77,31,0,1]
Então como que faço para descobrir por exemplo em que posição ta o elemento 77?
cara,
tem o metodo lastIndexOf, que te retorna o index do ultimo objeto encotrado.
t+
jeovane,
Te recomendo ler a API do ArrayList. Bem prático.
O comando é o indexOf() - dá uma olhada na descrição
[quote]Returns the index of the first occurrence of the specified element in this list, or -1 if this list does not contain the element. More formally, returns the lowest index i such that (o==null ? get(i)==null : o.equals(get(i))), or -1 if there is no such index.
Specified by: indexOf(…) in List, Overrides: indexOf(…) in AbstractList
Parameters:
o element to search for
Returns:
the index of the first occurrence of the specified element in this list, or -1 if this list does not contain the element[/quote]
Tem também o contains, que te informa se existe esse cara na tua lista ou não.
primeiramente voce deve ordenar seu array usando esse metodo sort():
java.util.Arrays.sort(seuArray);
depois de ordenado, voce pode utilizar o metodo binarySearch();
int posicao = java.util.Arrays.binarySearch(seuArray,77);
Obrigado pelas dicas galera.
Conseguir fazer o que eu gostaria, que era remover um determinado objeto do meu ArrayList.
Conseguir da seguinte forma array.remove(array.indexOf(min));
cara,
como disse o jaboot, basta dar uma lida na api. para isso que vc quer basta fazer isso
array.remove(77);
t+
Eu li pelo Javadoc alissonvla
Usei dessa forma array.remove(array.indexOf(min)); porque estou pegando os maiores elementos do meu ArrayList e o adicionando em outro.
Então, ao encontrar o maior elemento removo-o e vou buscar o outro maior. E para acessar a posição dele, tenho que passar o seu valor que é armazenado na variavel min
Entendeu?
[quote=alissonvla]cara,
como disse o jaboot, basta dar uma lida na api. para isso que vc quer basta fazer isso
array.remove(77);
t+[/quote]
Vai dar erro nisso ai
Ele vai buscar a posição 77 e não o objeto 77. 77 é um número primitivo e não um Objeto, se tu passa um int para o List, ele entende que trata-se do index e não do valor, portanto…
array.remove( new Integer (77));
E jeovane.reges, de duas uma:
1 - Tu está com uma baita preguiça e sem vontade de fazer teus exercícios e está vindo aqui
2 - Não está lendo com atenção o que o pessoal te passa
Eu digo porque no outro post eu já havia demonstrado e explicado detalhadamente como fazer isso e você abriu outro tópico com a dúvida que já havia sido respondida lá, é quase como você ler a primeira pergunta, depois a segunda e ver que a resposta da primeira está bem clara na primeira pergunta.
A critica é porque se estiver na opção 1, você não vai longe nessa área e para a opção 2, diminua a pressa na leitura e se atente as definições.
acho que vc ta complicando uma coisa que é simples.
se quiser postar seu codigo para podermos te ajudar.
com certeza vai dar erro Nel, tem que passar o Objeto Integer.
obrigado por me corrigir
Olá nel
Primeiramente queria agradecer a sua crítica, ela é construtiva e criticas assim sempre são bem vidas
Na verdade não é preguiça de maneira alguma. É apenas correria e algumas vezes falta de atenção, como voce mesmo citou.
É claro que tem detalhes em java que admito não saber como usa-los, mas, pra isso tem o javadoc que pode me ajudar e tal, só que as vezes estou tão apressado que nem lembro dele (um grande erro isso).
Enfim, sou muito grato a todos aqui no fórum, pois a cada dúvida solucionada é um aprendizado a mais.
[quote=jeovane.reges]Olá nel
Primeiramente queria agradecer a sua crítica, ela é construtiva e criticas assim sempre são bem vidas
Na verdade não é preguiça de maneira alguma. É apenas correria e algumas vezes falta de atenção, como voce mesmo citou.
É claro que tem detalhes em java que admito não saber como usa-los, mas, pra isso tem o javadoc que pode me ajudar e tal, só que as vezes estou tão apressado que nem lembro dele (um grande erro isso).
Enfim, sou muito grato a todos aqui no fórum, pois a cada dúvida solucionada é um aprendizado a mais.[/quote]
Fico satisfeito que tenha entendido a critica.
Quem frequenta o fórum diariamente, como eu, vê muitos casos de usuários pedindo exercícios prontos, o que nos deixa um pouco chateado (nervoso) com a situação. Eu realizei a crítica não somente pela falta de leitura da API, afinal, muitas vezes eu li e não entendi o funcionamento da mesma, sendo necessário explicação mais detalhada de pessoas mais experientes.
A minha critica principal diz respeito ao fato de eu ter lhe demonstrado a necessidade que citou aqui em tópico anterior, mas não havia se atendado a isso.
Não te preocupas porque todos nos engamos ou fazemos algo com pressa e acabamos por não ver o que está bem na nossa frente.
Sempre que precisar de algo é só postar de forma coerente aqui no GUJ que com certeza o pessoal vai lher ajudar.
Forte abraço e sucesso!
Valeu nel
Sucesso pra você também
Abraço.
Tem varias formas de se fazer amigo.
uma delas é vc criar uma variavel.
[code]public Integer retornaPosicao(Integer numero){
Integer posicao = 0;
for(posicao;posicao < array.length; posicao++){
if(posicao == numero){
return posicao;
}
}
return -1; // menos um porque vc pode fazer um tratamento depois :D
}[/code]