Título: consulta ciclo for 100.000.000 de datos en un arraylist Publicado por: neomadara en 1 Mayo 2014, 19:36 pm hola buenas! soy nuevo en el foro! y quería hacer una consulta, lo que pasa es que estoy atascado con un ciclo For en cual tiene un Ramdom que me genera números desde 1 a 100.000.000 y los guardar en un ArrayList, y al ejectuarlo el programa funciona unos 5 segundos y luego queda pegado
este seria el codigo. long numeroGenerado2; int i; for(i = 0; i<100000000; i++){ numeroGenerado2 = (long)Math.floor(Math.random()* (100000000-0+1)+0); listaNumeros.add(numeroGenerado2); } probe con variables de tipo int pero aun así pasa lo mismo. espero alguien me pueda ayudar ;D Título: Re: consulta ciclo for 100.000.000 de datos en un arraylist Publicado por: engel lex en 1 Mayo 2014, 20:52 pm primero tomando en cuenta que estás haciendo una operación que en memoria debe pesar lo siguiente
long = 64bit = 8byte entonces son 800.000.000byte, dividiendo entre 1000 por comodidad, con un error de 2.4% 800.000.000byte 800.000KB 800MB no se demasiado de java, pero creo que tienes que ajustar la memoria para que la maquina virtual pueda usar 1GB de ram otros consejos: int es un numero de 32 bits en java, es capaz de soportar un valor de poco más de 2mil millones positivo y negativo otra cosa que recomiendo es que primero crees el array para que se reserve la memoria, de otra manera se tienes que reubicar la memoria cuando el array quede sin espacio de cola por otro lado no se si se pueda manejar por métodos normales :s es un array MUY grande Título: Re: consulta ciclo for 100.000.000 de datos en un arraylist Publicado por: ivancea96 en 1 Mayo 2014, 22:04 pm Deberías ver si realmente buscas usar tanta RAM. Quizás prefieras ir guardando los valores en un archivo. Todo depende de lo que busques claro, pero es bastante bestia. Ya viste los datos que te dió engel lex.
|