Cómo encontrar el valor máximo de cualquier duplicado en una ArrayList

El código parece estar bien pero es muy engorroso ya que repites muchas cosas que no deberían ser.
En el bucle, podría usar un Mapa para asociar el número de tarjeta con la ocurrencia.
De esta manera, evitas la larga serie de ifdeclaraciones.

El código podría verse así:

    List<Card> cards = ...
    Map<Integer,Integer> occurrenceByNumber = new HashMap<>();
    for (int i = 0; i < cards.size(); i++) {
        Card card = cards.get(i);
        Integer occurrence = occurrenceByNumber.get(card.getRank());
        if (occurrence == null){
            occurrence = 1;
        }       
        else{
           occurrence++;
        }   
        occurrenceByNumber.put(card.getRank(), occurrence);        
    }


    Integer maxNumber = null;
    for (Entry<Integer, Integer> entry : occurrenceByNumber.entrySet()){
        int occurrence = entry.getValue();
        int number = entry.getKey();
        if ( occurrence == 2 && (maxNumber == null || number> maxNumber)  ){
            maxNumber = number;
        }
    }

    return maxNumber;
Respuesta 1
ArrayList<Integer> hand = new ArrayList<Integer>(13);
for (int i = 0; i < cards.size(); i++) {
    int x = cards.get(i).getRank();
    if(x>0&&x<14) {
         hand.set(i-1, hand.get(i-1)+1)); //increment values
    }
}
ArrayList<Integer> list = new ArrayList<Integer>();
for(int i=0; i<hand.size(); i++) {
     if(hand.get(i)==2) {
          list.add(i+1); //one will be at index 0, etc
     }
}

return Collections.max(list);
Respuesta: 2

Estoy tratando de hacer un clon de AsyncTask de Android para usar en una aplicación JavaFX. Aquí está el código que se me ocurrió: import java.util.concurrent.Executor; import java.util.concurrent.Executors; resumen ...

¿Cómo convierto la siguiente cadena en un objeto persona? Contenido de la cadena: String testString = "John | 23; Ron | 22; Don | 32" Clase de persona: clase pública Persona {nombre de cadena privada; Cadena privada ...

Al crear HTTPURLConnection's desde Android, ¿alguien tiene alguna experiencia sobre cuándo cerrar una conexión o cuándo desconectarse de una conexión? En caso de desconexión siempre se debe utilizar ...

Estoy tratando de hacer el ejemplo HelloWorldImage desde Beginning Java Development with Libgdx pero no consigo que el proyecto lea la imagen. Así es como se ve el directorio del proyecto y la primera clase ...