Imprimir
Categoría: Java
Visto: 1407

En PC Resumen hablaremos de los algoritmos reverse, fill, copy, max, min en Java. El algoritmo reverse invierte el orden de los elementos en un objeto List y el algoritmo fill sobrescribe los elementos con un valor especificado. El algoritmo copy recibe dos argumentos List, el origen y el destino y hace una copia. Si el objeto destino es más largo, los elementos que no se sobrescriban quedarán sin cambios.

Todos los algoritmos que hemos visto hasta ahora trabajan con objetos List. Los algoritmos min y max operan en cualquier objeto Collection y devuelven respectivamente el elemento más pequeño y el más grande. Ambos algoritmos pueden llamarse con un objeto Comparator como segundo argumento para realizar comparaciones personalizadas.

Puede ver ejemplos de estos algoritmos en el siguiente programa:

import java.util.List;
import java.util.Arrays;
import java.util.Collections;

public class Algoritmos1 {
    private Character[] letras = {'P', 'C', 'M'};
    private Character[] copiaLetras;
    private List<Character> lista;
    private List<Character> copiaLista;
    
    public Algoritmos1() {
        lista = Arrays.asList (letras);
        copiaLetras = new Character[3];
        copiaLista = Arrays.asList(copiaLetras);
        System.out.println("Lista inicial:");
        imprimir(lista);
        Collections.reverse(lista);
        System.out.println("\nDespués de llamar a reverse:");
        imprimir(lista);
        Collections.copy(copiaLista, lista);
        System.out.println("\nDespués de copy:");
        imprimir(copiaLlista);
        Collections.fill(lista, 'R');
        System.out.println("\nDespués de llamar a fill:");
        imprimir(lista);
    }

    private void imprimir(List<Character> refLista) {
        System.out.print("La lista es:");
        for (Character elemento: refLista) {
            System.out.printf ("%s", elemento);
        }
        System.out.printf("\nMax:%s", Collections.max(refLista));
        System.out.printf("\nMin:%s \n", Collections.min(refLista));
    }

    public static void main(String args[]) {
        new Algoritmos1();
    }
}