contar elementos repetidos en un arraylist en java

Preguntado hace 9 meses

Johan Ramírez

Editada hace 9 meses

Javier Suero
Votos
PositivosNegativosTotal
0 0 0
53 Visualizaciones
Compártelo: Compártelo en twitterCompártelo en Facebook

¿Como hago parra contar elementos repetidos en un arraylsit de la siguiente manera:

este color red esta 7 veces?

Aqui esta el codigo que llevo hasta el momento

    package claseauto;

    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.StringTokenizer;

    public class Main {


    public static void main(String[] args) {
        ArrayList Vehiculos = new ArrayList();
        boolean ver=true;
        int cont=0,model,cant,i,sum=0;
        String col,mar;
        System.out.println("Consesionario");
        System.out.println("Bienvenido a AutoSof");
        System.out.println("Por favor seleccione las siguientes los que desee realizar:");
        while (true) {
            System.out.println("1- Agregar");
            System.out.println("2- Buscar");
            System.out.println("3- Contar");
            System.out.println("4- Salir");
            int op = Integer.parseInt(Leer.getString());

            switch (op) {
                case 1: {
                    Auto veh = new Auto();
                    System.out.println(" ");
                    System.out.println("Digite el color del vehiculo");
                    veh.color = Leer.getString();
                    System.out.println("Digite la marca del vehiculo");
                    veh.marca = Leer.getString();
                    System.out.println("Digite el modelo del vehiculo");
                    veh.modelo=Integer.parseInt(Leer.getString());
                    System.out.println("Digite el numero de llantas del vehiculo");
                    veh.numllantas=Integer.parseInt(Leer.getString());
                    Vehiculos.add(veh);
                    break;
                }
                case 2: {
                    System.out.println(" ");
                    System.out.println("Digite el color del vehiculo");
                    col = Leer.getString();
                    System.out.println("Digite la marca del vehiculo");
                    mar = Leer.getString();
                    System.out.println("Digite el modelo del vehiculo");
                    model= Integer.parseInt(Leer.getString());
                    System.out.println("Digite el numero de llantas quetiene vehiculo");
                    cant= Integer.parseInt(Leer.getString());

                    for ( i = 0; i < Vehiculos.size(); i++) {

                        Object obj = Vehiculos.get(i);
                        //Esta linea convierte de un Object a clase Auto
                        Auto veh = (Auto) obj;
                        if (veh.color.equals(col)&& veh.marca.equals(mar)&&veh.modelo==(model)&&veh.numllantas==(cant)) {

                                System.out.println("El contacto esta ubicado en la posición = " + i);

                        }
                        else
                        {
                            System.out.println("No esta registrado");
                        }
                    }
                    break;
                }
                case 3: {
                    System.out.println(" ");
                    System.out.println("Por favor selecciones lo que deseecontar");
                    if (ver==true) {
                        System.out.println("1- Color");
                        System.out.println("2- Marca");
                        System.out.println("3- Modelo");
                        System.out.println("4- # de llantas");
                        int contar=Integer.parseInt(Leer.getString());
                        //Aqui viene la parte complicada,solo me salen los colores repetido
                        switch(contar){
                            case  1:{

                                     for ( i = 0; i < Vehiculos.size(); i++) {
                                        //cont=1;
                                        Object obj = Vehiculos.get(i);
                                        Auto veh = (Auto) obj;
                                        //Coleccion de colores de vehiculos
                                         System.out.println(" Colores"+veh.color);
                                         //El mensaje correcto seria algo asi
                                         // "Este color"+var+" esta "+var2+" veces"
                                    }





                                break;

                            }
                            case 2:{

                                System.out.println("Marca");
                            }
                            case 3:{

                                System.out.println(" Modelo");
                                break;
                            }
                            case 4:{

                                System.out.println(" llantas");
                                break;
                            }
                            default: System.out.println("Error: No selecciono las opciones correctas,intentalo de nuevo");
                        }
                    }

                    break;
                }
                case 4: {
                    System.exit(0);
                    break;
                }
                default:System.out.println("Error: No selecciono las opciones correctas,intentalo de nuevo");
            }


        }
    }

}
Actualizando datos
Hola, Johan, he modificado para que todo el código esté entre el pre y el code y para añadir las etiquetas arraylist y listas. Un saludo. Javier Suero hace 9 meses

Tu respuesta

Confirmación

Cerrar

Si sales ahora, perderás los cambios. ¿Estás seguro de querer salir?

Para participar en Babelias, debes estar convenientemente validado. Si ya eres usuario inicia sesión, si no lo eres, te puedes registrar.

Dar una respuesta

Trata de ser descriptivo, usa al menos 25 caracteres