Autor Tema: Ayuda Ejercicio ArrayList LinkedList Código (CU00921C)  (Leído 1683 veces)

chochewarex

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
Ayuda Ejercicio ArrayList LinkedList Código (CU00921C)
« en: 09 de Octubre 2017, 02:31 »
Hola.. Soy nuevo en el foro y siguiendo el ejercicio de Vehiculo... Crea una clase con el método main donde se introduzcan 5000 vehículos en una lista de tipo estático List. El atributo tipo debe establecerse para cada objeto de forma aleatoria. A continuación, el programa debe mostrar un resumen de cuántos vehículos hay de cada tipo.

El problema que tengo es:
al contar cuantos elementos repetidos tengo ya sea...  Coche, Camión, Furgoneta o Moto me encontré con un fragmento de código en el que me llamo la atención a través del estructura Hashtable, sin embargo tengo problemas en la implementacion. ¿Como podria contar los elementos repetidos?

Código: [Seleccionar]
package tipo.vehiculo;

+++++CODIGO VEHICULO
public class Vehiculo {
private int idVehiculo;
private String tipo;

public Vehiculo(int idVehiculo,String tipo) {
this.idVehiculo=idVehiculo;
this.tipo=tipo;
}

public int getIdVehiculo() {
return idVehiculo;
}
public String getTipo() {
return tipo;
}

@Override
public String toString() {
return "Resumen lista inicial: hay ";
}
}

+++++++CODIGO MAIN

Código: [Seleccionar]
package tipo.vehiculo;

import java.util.*;

public class Call {

public static void main(String[] args) {
String[] Vehiculos= {"Coche","Camion","Furgoneta","Moto"};


List<Vehiculo>listArray = new ArrayList<Vehiculo>();
List<Vehiculo>linkedList = new LinkedList<Vehiculo>();


for(int i = 0; i<5000; i++) {
listArray.add(new Vehiculo(i, Vehiculos[((int)Math.random()*4)]));
linkedList.add(new Vehiculo(i, Vehiculos[(int)Math.random()*4]));
}

Hashtable hashlista = new Hashtable();
hashlista = repetidos(listArray);
}

private static Hashtable repetidos(ArrayList lista) {
Hashtable hashlista = new Hashtable();
for(Object item: lista) {
if(hashlista.containsKey(item)) {
hashlista.put(item, (Integer)hashlista.get(item)+1);
}else {
hashlista.put(item, 1);
}
}

return hashlista;
}
}

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".