LinkedList min e max

8 respostas
S

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.

8 Respostas

Metal_Java_Full

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 :!:

Alexandre_Saudate

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

E

Metal Java Full:
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.

Metal_Java_Full

entanglement:
Metal Java Full:
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!!!

“Definição List”:

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 :!:

E

Ainda se expressou mal - coleções ordenadas são SortedSets (por exemplo, TreeSet).

Metal_Java_Full

Elas são ordenadas quando implementamos as interfaces que falei…

E

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.

Metal_Java_Full

Ok!
Anotando…

Criado 26 de fevereiro de 2010
Ultima resposta 26 de fev. de 2010
Respostas 8
Participantes 4