-
Notifications
You must be signed in to change notification settings - Fork 862
Expand file tree
/
Copy pathOrdenacaoNumeros.java
More file actions
90 lines (70 loc) · 2.76 KB
/
OrdenacaoNumeros.java
File metadata and controls
90 lines (70 loc) · 2.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
package develop.java.list.ordenacao.OrdenacaoDeNumeros;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class OrdenacaoNumeros {
private List<Integer> integerList;
public OrdenacaoNumeros() {
this.integerList = new ArrayList<>();
}
public void adicionarNumero(int numero){
integerList.add(numero);
}
public void exibirNumeros(){
System.out.println(integerList);
}
public List<Integer> ordenarAscendenteComparable(){
List<Integer> numerosAscendente = new ArrayList<>(integerList);
Collections.sort(numerosAscendente);
return numerosAscendente;
}
public List<Integer> ordenarDescendenteComparable(){
List<Integer> numerosDescendente = new ArrayList<>(integerList);
numerosDescendente.sort(Collections.reverseOrder());
return numerosDescendente;
}
public List<Integer> ordenarAscendenteComparator(){
List<Integer> numerosAscendente = new ArrayList<>(integerList);
Collections.sort(numerosAscendente,new NumeroComparatorAscendente());
return numerosAscendente;
}
public List<Integer> ordenarDescendenteComparator(){
List<Integer> numerosDescendente = new ArrayList<>(integerList);
Collections.sort(numerosDescendente,new NumeroComparatorDescendente());
return numerosDescendente;
}
public static void main(String[] args) {
OrdenacaoNumeros numeros = new OrdenacaoNumeros();
// Adicionando números à lista
numeros.adicionarNumero(2);
numeros.adicionarNumero(5);
numeros.adicionarNumero(4);
numeros.adicionarNumero(1);
numeros.adicionarNumero(99);
// Exibindo a lista de números adicionados
numeros.exibirNumeros();
// Ordenando e exibindo em ordem ascendente
System.out.println("Ascendente Comparable: " + numeros.ordenarAscendenteComparable());
System.out.println("Ascendente Comparator: " + numeros.ordenarAscendenteComparator());
// Exibindo a lista
numeros.exibirNumeros();
// Ordenando e exibindo em ordem descendente
System.out.println("Descendente Comparable: " + numeros.ordenarDescendenteComparator());
System.out.println("Descendente Comparator: " + numeros.ordenarDescendenteComparator());
// Exibindo a lista
numeros.exibirNumeros();
}
}
class NumeroComparatorAscendente implements Comparator<Integer>{
@Override
public int compare(Integer i1, Integer i2) {
return Integer.compare(i1,i2);
}
}
class NumeroComparatorDescendente implements Comparator<Integer>{
@Override
public int compare(Integer i1, Integer i2) {
return Integer.compare(i2,i1);
}
}