Hola, ¿alguien puede explicarme por qué este bloque de código no funciona?Java StackOverflowError después de poner ArrayList en HashMap
ArrayList<Object> list = new ArrayList<Object>();
list.add(list);
HashMap<Object, Integer> map = new HashMap<Object, Integer>();
map.put(list, 1);
Después de poner la lista en el mapa, arroja StackOverFlowError.
Sé que este código no tiene ningún sentido, solo quiero saber por qué no está funcionando.
Gracias!
Editar:
StackTrace:
Exception in thread "main" java.lang.StackOverflowError
at java.util.ArrayList.get(Unknown Source)
at java.util.AbstractList$Itr.next(Unknown Source)
at java.util.AbstractList.hashCode(Unknown Source)
at java.util.AbstractList.hashCode(Unknown Source)
...
Por favor pegue el stacktrace de la excepción –
'list.add (list);' podría ser la causa raíz. –
Consulte el siguiente enlace http://docs.oracle.com/javase/7/docs/api/java/util/ConcurrentModificationException.html –