Java Collections.sort () falta ConcurrentModificationException

Me tropecé con este extraño error. Parece Collections.sort()que no modifica la lista ordenada de una manera que permite la detección de modificaciones concurrentes cuando también se repite en la misma lista. Código de ejemplo:

    List<Integer> my_list = new ArrayList<Integer>();

    my_list.add(2);
    my_list.add(1);

    for (Integer num : my_list) {

        /*
         * print list
         */
        StringBuilder sb = new StringBuilder();
        for (Integer i : my_list)
            sb.append(i).append(",");
        System.out.println("List: " + sb.toString());

        /*
         * sort list
         */
        System.out.println("CurrentElement: " + num);
        Collections.sort(my_list);
    }

salidas

List: 2,1,
CurrentElement: 2
List: 1,2,
CurrentElement: 2

Uno esperaría un ConcurrentModificationException, pero no se está generando y el código funciona aunque no debería.

Respuesta 1

He estado trabajando en un conjunto de servicios RESTful HTTP implementados usando Restlet en Java. Esos servicios son utilizados actualmente por una aplicación de escritorio patentada que se ejecuta en Windows, y por otro back-end ...

Estoy usando una base de datos Sq-lite como back-end en mi proyecto Java. La base de datos creada y ejecutada bien. Ahora debo cifrar la base de datos de otros. Busqué mucho pero no puedo encontrar buenas soluciones. ...

Estoy tratando de obtener la cantidad diferente de colores dentro de una imagen en Java, pero no sé si hay una biblioteca para esta propuesta. el proyecto se trata de descubrir los diferentes colores de ...

He creado una cuenta de alojamiento gratuito donde se me ha dado un nombre de dominio gratuito al que puedo acceder usando cualquier navegador. Puedo subir archivos en ese sitio web. He configurado la base de datos correctamente. Ahora yo ...