Olá… Estou precisando de uma função que retorne o menor e maior elemente de uma linkedlist. Sei que Collections tem isso. Mas preciso em linkedlist, alguem teria alguma sugestão.
LinkedList min e max
8 Respostas
Acertou em cheio, Collections faz isso sim, e LinkedList estende essa classe!!!
Collections por natureza são ordenados, ams você precisa informar a ela como comparar os elementos (implements Comparable ou Comparator)…
Dá uma pesquisada que tem muita coisa!!
http://java.sun.com/j2se/1.4.2/docs/api/java/util/LinkedList.html
vlew :!:
Seus objetos implementam Comparable? Como você mesmo disse, a classe Collections faz isto, mas você precisa passar objetos que implementam Comparable como parâmetro. Se não, o método Collections.max tem sobrecargas : uma em que você passa a lista como parâmetro (os objetos implementam Comparable) e outra em que você passa um Comparator como parâmetro (o comparator faz a análise).
[]´s
Acertou em cheio, Collections faz isso sim, e LinkedList estende essa classe!!!Collections por natureza são ordenados, ams você precisa informar a ela como comparar os elementos (implements Comparable ou Comparator)…
Dá uma pesquisada que tem muita coisa!!
http://java.sun.com/j2se/1.4.2/docs/api/java/util/LinkedList.html
vlew :!:
Como assim? Coleções não são “ordenadas” por padrão (no sentido que o menor elemento vem primeiro, e o maior por último).
Entretanto, é possível, usando-se Collections.min ou Collections.max, obter o menor ou o maior valor de uma LinkedList, já que uma LinkedList é uma Collection.
A única coisa é que os elementos dessa LinkedList possam ser comparados entre si; neste caso, é necessário que os elementos dessa LinkedList pertençam à mesma classe, e que a classe implemente Comparable. Por exemplo, uma LinkedList ou uma LinkedList estão OK, porque tanto String quanto Integer implementam Comparable.
Acertou em cheio, Collections faz isso sim, e LinkedList estende essa classe!!!Collections por natureza são ordenados, ams você precisa informar a ela como comparar os elementos (implements Comparable ou Comparator)…
Dá uma pesquisada que tem muita coisa!!
http://java.sun.com/j2se/1.4.2/docs/api/java/util/LinkedList.html
vlew :!:
Como assim? Coleções não são “ordenadas” por padrão (no sentido que o menor elemento vem primeiro, e o maior por último).
Entretanto, é possível, usando-se Collections.min ou Collections.max, obter o menor ou o maior valor de uma LinkedList, já que uma LinkedList é uma Collection.
A única coisa é que os elementos dessa LinkedList possam ser comparados entre si; neste caso, é necessário que os elementos dessa LinkedList pertençam à mesma classe, e que a classe implemente Comparable. Por exemplo, uma LinkedList ou uma LinkedList estão OK, porque tanto String quanto Integer implementam Comparable.
Ops, me expressei mal quis dizer List’s!!!
List: Também chamada de seqüência. É uma coleção ordenada, que ao contrário da inferface Set, pode conter valores duplicados. Além disso, temos controle total sobre a posição onde se encontra cada elemento de nossa coleção, podendo acessar cada um deles pelo índice.
vlew :!:
Ainda se expressou mal - coleções ordenadas são SortedSets (por exemplo, TreeSet).
Elas são ordenadas quando implementamos as interfaces que falei…
Não: a ordenação não é devida somente à interface implementada pela classe do objeto que será inserido em uma determinada estrutura de dados, e sim à própria estrutura de dados.
Se você criar um HashSet ou um ArrayList (onde String, você deve saber melhor que eu, implementa Comparable), ela não é ordenada, embora seja uma collection. Apenas TreeSet é ordenada.
Ok!
Anotando…