Java: creación de permutaciones a partir de claves hashmap

Entonces tengo un hashmap que tiene claves y objetos. Me preguntaba si era posible crear una serie de permutaciones con las teclas. Entonces, por ejemplo, si tuviera:

1 - Objeto1 2 - Objeto2 3 - Objeto3 4 - Objeto4

Para obtener un orden aleatorio. Entonces un resultado puede ser:

3 - Objeto3 1 - Objeto1 2 - Objeto2 4 - Objeto4

Hasta ahora tengo:

Map<Integer, GeoPoint> mapPoints = new HashMap<Integer, GeoPoint>();
Map<Integer, GeoPoint> mapPointsShuffle = new HashMap<Integer, GeoPoint>();

    for (int t =0; t < 50; t ++){

        Collections.shuffle((List<?>) mapPoints);

        mapPointsShuffle.putAll(mapPoints);
    }

Entonces la idea es darme 50 permutaciones aleatorias. Pero vuelve con:

26/09 11: 15: 27.813: E / AndroidRuntime (20434): java.lang.ClassCastException: java.util.HashMap no se puede transmitir a java.util.List

¿Algunas ideas?

Respuesta 1

java.util.HashMap no implementa java.util.List

Respuesta: 2

Primero debe hacer una lista de claves hashmap:

List<Integer> keys = new List<Integer>(mapPoints.keySet());

Luego, puede barajar la lista de claves utilizando el método en Collectionsla forma en que se muestra su publicación.

Sin embargo, la última llamada de su ciclo no tiene sentido:

mapPointsShuffle.putAll(mapPoints);

Incluso si vuelve a mezclar las teclas cincuenta veces, esto agregaría las mismas entradas de mapa a otro mapa cincuenta veces, lo que da como resultado el mapa con el que ha comenzado, porque los mapas hash no están ordenados .

Respuesta: 3

Básicamente, lo que tengo que hacer es eliminar todos los dígitos y dejar el primero. Si es un número menor de 10, conserve ese número. Ya hice un código, pero en lugar de eliminar todos los dígitos después de ...

Escribí una pequeña aplicación Java en el cliente que inserta una imagen como BLOB en una tabla en el IBM i. Cuando consulto la tabla, veo que la columna se ha rellenado. ¿Cómo puedo mostrar los datos BLOB como ...

[ERROR] Error al ejecutar el objetivo org.apache.maven.plugins: maven-surefire-plugin: 2.22.1: prueba (prueba predeterminada) en el proyecto tormenta-cliente: hay fallas de prueba. [ERROR] [ERROR] Consulte D: \ FYP_1 \ ...

Tenía la aplicación básica Spring MVC + Hibernate. Aquí está mi web.xml: <? Xml version = "1.0" encoding = "UTF-8"?> <Web-app xmlns = "http://java.sun.com/xml/ns/javaee" xmlns: xsi = "http: // ...