package COLECCION;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.Random;

public class Ejercicio1 {

    public static void main(String[] args) {
        /*
        EJERCICIOS SOBRE COLECCIONES
•         Ejercicios sobre ArrayList
        
1a. Realiza un programa que introduzca valores aleatorios (entre 0 y 100) en un ArrayList y que luego realice las siguientes operaciones: 
        
1b. mostrar el contenido, calcular la suma,
        borrar aquellos números que serán pares y volver a mostrar el contenido, remplazar los números divisibles por 3 con el valor 0 y volver a mostrar el contenido, por último, si aparece un valor divisible entre cinco, insertar en la posición anterior el valor 555 y volver a mostrar el contenido.
El tamaño de la lista también será aleatorio y podrá oscilar entre 10 y 20 elementos ambos inclusive. 
        
2. A partir igualmente de un ArrayList con 20 valores aleatorios entre (0, 100). Ordenar la lista, mostrar su contenido, guardar de la lista los valores no repetidos mediante una colección auxiliar de tipo TreeSet y muestra el contenido de esta. Comprobar que los valores no se repiten y que están ordenados.
        */
        Random random = new Random();
        
        //De cuantos elementos se compone el ArrayList (Aleatorio) puesto que no lo especifica.
        int tamaño = random.nextInt(20,61);
        
        System.out.println("Se va a cargar un ArrayList de "+tamaño +" elementos.");
        
        //Decimos que el tamaño es un número aleatorio entre 20 y 60.
        ArrayList<Integer> elementos = new ArrayList();
        
        //Bucle para rellenar el array en función de la variable tamaño.
        for (int i = 0; i < tamaño; i++) {
            elementos.add(random.nextInt(1, 101));
        }
        //Imprimirlo (Mostra el contenido)
        System.out.println("Se muetra el contenido");
        for (int i = 0; i < tamaño; i++) {
            System.out.println
        ("Elemento i: "+i+" "+elementos.get(i));
        }
        
        
        //Calcular la suma de los números
        System.out.println("Calculando suma...");
        int suma = 0;
        for (int i = 0; i < tamaño; i++) {

            suma = suma + elementos.get(i);
        }
        //Tras terminar el bucle ya está toda la suma realizada. 
        System.out.println("Suma: "+suma);
        
        
        //Se borran aquellos números que sean pares.
        System.out.println("Eliminando los numeros que sean pares: ");
        System.out.println("==========================");
        /*for (int i = 0; i < tamaño; i++) 
        {
            //Obtengo el número de la posición del ArrayList.
            int numero = elementos.get(i);
            
            
            if (numero%2==0){
                System.out.println("Se encuentra un número PAR "+numero);
               
            }
        }*/
        
        Iterator<Integer> it = elementos.iterator();
        while(it.hasNext()){
            int numero = it.next();
            if(numero %2==0){
                System.out.println("Eliminado el número PAR: "+numero);
                it.remove();
            }
        }
         System.out.println("Se muetra el contenido");
        for (int i = 0; i < elementos.size(); i++) {
            System.out.println
        ("Elemento i: "+i+" "+elementos.get(i));
        }
    }
}