Mais uma de collections

a - não compila
b - compila mas lança runtime exception
c - roda e imprime 1, 2 e 3 nesta ordem
d - roda e imprime 100, 200 e 300 nesta ordem
e - roda e imprime 1, 2 e 3 em qualquer ordem
f - roda e imprime 100, 200 e 300 em qualquer ordem

import java.util.*;

class UmaOutra {
	private int codigo;
	public UmaOutra (int codigo) {
		this.codigo = codigo;
	}
	public void setCodigo (int codigo) {
		this.codigo = codigo;
	}
	public int getCodigo () {
		return codigo;
	}
}

public class TCol4 {
	public static void main(String [] args) {
		Set s = new HashSet();
		UmaOutra u1 = new UmaOutra(1);
		UmaOutra u2 = new UmaOutra(2);
		UmaOutra u3 = new UmaOutra(3);
		s.add (u1);
		s.add (u2);
		s.add (u3);
		u1.setCodigo(100);
		u2.setCodigo(200);
		u3.setCodigo(300);
		for (Iterator i = s.iterator(); i.hasNext(); )
			System.out.println (((UmaOutra) i.next()).getCodigo());
	}
}

letra f, eu acho. :smiley:

correto, e se eu mudasse a linha:

Set s = new HashSet()

para

Set s = new TreeSet()

?

dai da erro de RunTime.

pq para usar os classes Tree*
voce precisa implementar a interface Comparable na sua classe.

[quote=“maxguzenski”]dai da erro de RunTime.

pq para usar os classes Tree*
voce precisa implementar a interface Comparable na sua classe.[/quote]

correto!