Cómo contar la frecuencia de una enumeración en una ArrayList de objeto

Como ejemplo de mi pregunta ... Digamos que tengo un objeto que ArrayListcontiene Car. Un Carobjeto está compuesto por a Modely Colour Enum. Quiero contar cuántos modelos de automóviles del tipo Audi hay en la lista, Audi es unENUM

Tengo una variable int llamada int Audi

Y estoy intentando Audi=Collections.frequency(list, Model.AUDI);

Sin embargo, no cuenta la frecuencia y Audi=0

¿Dónde me estoy equivocando y cómo puedo contar la frecuencia de una enumeración?

Respuesta 1

Su uso de Collections.frequencyes incorrecto; está buscando en una lista de Cars una Modelenumeración, por lo que no sorprende que el recuento sea 0.

Si está utilizando Java 8, puede configurar un Streampara que pueda ver filterel contenido y luego countlos elementos restantes. Esto supone que Cartiene un getModelmétodo getter.

long audi = list.stream().filter( c -> c.getModel() == Model.AUDI ).count();
Respuesta: 2

Collections.frequencysolo funciona si la matriz contiene objetos del mismo tipo que el objeto pasado. En este caso, tiene una matriz de tipos <Car>y está buscando un objeto de tipo Model(una instancia de Car nunca será igual a un modelo de enumeración).

Tendrá que escribir su propio ciclo para pasar y realizar el conteo (debería ser fácil).

Respuesta: 3

Inicialmente, mi Tomcat se inicia con un valor Xmx. Pero está cambiando con en 5 minutos. ¿Pero mi Tomcat funciona con carga pesada? ¿Es posible que el sistema operativo pueda reducir / aumentar el valor Xmx dinámicamente?

Estoy probando un poco de Java recientemente y busco alguna revisión de mi estilo. Si te gusta mirar este ejercicio colocado en la imagen, y decirme si mi estilo es lo suficientemente bueno? O tal vez no es lo suficientemente bueno ...

Entonces tengo la siguiente estructura: HelloWorld -> Package1 -> Class1.java -> Package2 -> Class2.java Estoy tratando de compilar Class2.java desde la línea de comandos usando: ...

Tengo un cliente que puede enviar información a un servidor a través de TCP: public class IR {private String host; // dirección IP del servidor indicada aquí, la eliminé para publicar aquí int privado ...