Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Arrays;
- import java.util.Comparator;
- class Dado {
- int peso1, peso2, peso3;
- Dado(int p1, int p2, int p3) {
- peso1 = p1;
- peso2 = p2;
- peso3 = p3;
- }
- @Override
- public String toString() {
- return "{" + peso1 + "," + peso2 + "," + peso3 + "}";
- }
- }
- class DadoComp implements Comparator<Dado> {
- @Override
- public int compare(Dado d1, Dado d2) {
- return d1.peso1 - d2.peso1;// ordem direta
- // return d2.peso1-d1.peso1;//ordem reversa
- // ordem direta, estável por pesos. Mas nem tanto assim, rs
- // return (d1.peso1 - d2.peso1) * 100 + (d1.peso2 - d2.peso2) * 10
- // + (d1.peso3 - d2.peso3);
- }
- }
- public class TesteComparador {
- public static void main(String[] args) {
- Dado dados[] = new Dado[] { new Dado(20, 5, 11), new Dado(22, 5, 11),
- new Dado(7, 5, 11), new Dado(7, 4, 11), new Dado(29, 5, 11),
- new Dado(12, 9, 11), new Dado(12, 13, 14), new Dado(30, 0, 2), };
- for(Dado d : dados)
- System.out.print(d+" ");
- System.out.println();
- Arrays.sort(dados, new DadoComp());
- for(Dado d : dados)
- System.out.print(d+" ");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment