package searchtrintamil;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class SearchTrintaMil {
public static void main(String[] args) {
Random randomNumber = new Random();
int num;
final int N = 3000;
List<Integer> array = new ArrayList<Integer>();
long inicio = System.currentTimeMillis();
for(int i = 0; i < N; i++)
{
num = 1 + randomNumber.nextInt(3000);
array.add(num);
System.out.println(num + " - " + array.contains(i));
//System.out.println("" + array.get(i));
}
long termino = System.currentTimeMillis();
long intervalo = termino - inicio;
System.out.println("Tempo de execução: "
+ intervalo + " milisegundos.");
}
}
E gostaria de saber porque alguns valores não são inseridos na List, já que tenho vários retornos “false” referentes ao método contains quando executo o programa. Muito obrigado.
Se o contains disser q é “false” é pq o elemento não está no array. Isso não quer dizer q ele não foi inserido. A princípio deveria ser mais comum que apareça mais “false” do que true… Se aparecer mt true é pq o random tá gerando mts números repetidos…
O fato é que não é possível inserir valores repetidos num HashSet né? mas num ArrayList é possível, não é mesmo? eu modifiquei a classe de HashSet para ArrayList e continuo tendo retorno “false” para a inserção de vários valores (não era para todos os valores serem inseridos? já que agora passei a manipular uma ArrayList ?)