Salve a tutti!
Ho da fare un progetto didattico dove ho un'array di booleani e devo "inserire" 1000000000 di elementi (da 2 a 1000000000 per essere precisi). O meglio devo mettere a true l'indice corrispondente a quell'elemento.
Parto da un'array di piccole dimensioni (alloco inizialmente un'array di booleani di 10 elementi perchè prima il test inserisce e rimuove numeri piccoli e se alloco un'array troppo grande va lentissimo)
Il problema è costruire una funzione che mi permetta di ingrandire l'array. L'idea principale era di crearmi ogni volta un'array di dimensioni più grandi, copiarci gli elementi e poi assegnare al vecchio array il riferimento del nuovo array. Questo va bene finchè l'array di copia+il vecchio array non arrivano al limite dello heap messo a disposizione dalla jvm (ho già anche settato il parametro per aumentare l'heap). Ho addirittura pensato di crearmi un'array di "completamento" cioè crearmi un'array dove inserisco tutti gli elementi mancanti per finire il test senza crearmi la copia, ma non posso affidarmi ai valori di FreeMemory della RunTime perchè sono solo approssimati. Avete qualche idea??? Io le ho terminate
Grazie per l'aiuto!