Utilitários de coleções
Use utilitários úteis de java.util.Collections: sort, reverse, shuffle, min/max, frequency, addAll e visões não modificáveis.
Utilitários de coleções é uma aula grátis de Java Academy no CoddyKit. Esta é a aula 3 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Java Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Java Academy inclui 3 aulas no total.
Visão geral
A classe auxiliar Collections fornece pequenas ferramentas que economizam tempo: sort, reverse, shuffle, min/max, frequency, addAll e unmodifiableList. Elas estão em java.util.Collections.
Operações no próprio objeto
Métodos no próprio objeto (sort, reverse, shuffle) modificam a List fornecida. Para conjuntos, copie os elementos para uma lista antes de ordenar. Para facilitar a leitura, imprima os valores antes e depois de fazer a alteração.
Código: sort/reverse/shuffle
sort usa a ordem natural; reverse inverte a lista; shuffle a reorganiza aleatoriamente. Todos alteram a mesma instância de List.
public class Main {
public static void main(String[] args) {
java.util.List<String> names = new java.util.ArrayList<>();
names.add("Bob"); names.add("Ada"); names.add("Cyd");
System.out.println("orig=" + names);
java.util.Collections.sort(names); // natural order (A–Z)
System.out.println("sorted=" + names);
java.util.Collections.reverse(names); // reverse order
System.out.println("reversed=" + names);
java.util.Collections.shuffle(names); // random order
System.out.println("shuffled=" + names);
}
}
Mínimo/máximo e frequência
min e max selecionam elementos pela ordem natural. frequency(list, x) conta quantas vezes um elemento aparece. É excelente para pequenas estatísticas e testes.
Código: min/max/frequency
Os utilitários retornam valores sem alterar a lista. Os números acima são calculados usando a ordem natural de Integer.
public class Main {
public static void main(String[] args) {
java.util.List<Integer> nums = new java.util.ArrayList<>();
nums.add(7); nums.add(3); nums.add(7); nums.add(1);
int min = java.util.Collections.min(nums);
int max = java.util.Collections.max(nums);
int freq7 = java.util.Collections.frequency(nums, 7);
System.out.println("min=" + min + ", max=" + max + ", count(7)=" + freq7);
}
}
Código: addAll e unmodifiableList
addAll é útil para criar listas. unmodifiableList cria uma visualização somente leitura para evitar alterações acidentais.
public class Main {
public static void main(String[] args) {
java.util.List<String> a = new java.util.ArrayList<>();
java.util.Collections.addAll(a, "red", "green");
java.util.List<String> b = new java.util.ArrayList<>();
java.util.Collections.addAll(b, "blue", "green");
// merge b into a
a.addAll(b);
System.out.println("merged=" + a); // [red, green, blue, green]
// create a read-only view
java.util.List<String> readOnly = java.util.Collections.unmodifiableList(a);
System.out.println("readonly size=" + readOnly.size());
// readOnly.add("x"); // would throw UnsupportedOperationException if uncommented
}
}
Verificação dos utilitários de Collections
Verificação rápida: o que Collections.sort(list) faz por padrão?
Recapitulação
Recapitulação: use Collections para obter resultados rápidos: sort/reverse/shuffle para a ordem, min/max/frequency para pequenas estatísticas, addAll para mesclar e unmodifiableList para visualizações somente leitura.
Perguntas Frequentes
A aula “Utilitários de coleções” é grátis?
Sim — o texto completo de “Utilitários de coleções” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Java Academy, atualize para CoddyKit PRO. O curso de Java Academy inclui 3 aulas no total.
O que vou aprender em “Utilitários de coleções”?
Use utilitários úteis de java.util.Collections: sort, reverse, shuffle, min/max, frequency, addAll e visões não modificáveis. Você pratica Java Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Java Academy?
Nenhuma experiência prévia é necessária. Java Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 3.
Quanto tempo leva a aula “Utilitários de coleções”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Java Academy?
Sim. Cada aula de Java Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Visão geral de List e Set
- Iteradores e for aprimorado
- Utilitários de coleções