Dos maneras de encontrar el menor y probar cual tarda más

	public static void main(String[] args) {
		// Vamos a crear un array con 10000 números aleatorios
		// Y vamos a comprobar cronómetro en mano cuanta diferencia hay
		// Entre usar un método y otro
		int[] numeros=new int[10000];
		for (int i=0;i<numeros.length;i++) {
			numeros[i]=(int) (Math.random()*100+1);
		}
		//System.out.println(Arrays.toString(numeros));
		
		LocalTime ahora=LocalTime.now();
		System.out.println(menorElemento(numeros));
		LocalTime despues=LocalTime.now();
		Duration tiempo=Duration.between(ahora, despues);
		System.out.println(tiempo);
		 ahora=LocalTime.now();
		System.out.println(menorElementoOrden(numeros));
		despues=LocalTime.now();
		 tiempo=Duration.between(ahora, despues);
		System.out.println(tiempo);
		
	}
	// Devolver el menor elemento de un array
	public static int menorElemento(int[] numeros) {
		// Almacenar el elemento menor
		int menor=numeros[0];
		// Recorrer el array
		for(int numero:numeros) {
			// Comparo cada valor con el que ya tengo
			if(numero<menor) {
				menor=numero;
			}
		}
		return menor;
	}
	// Los arrays se pueden modificar en las funciones
	// pero no SE DEBEN MODIFICAR por defecto
	public static int menorElementoOrden(int[] numeros) {
		int[] copia=numeros.clone();
		Arrays.sort(copia);
		return copia[0];
	}

Publicado por

Avatar del usuario

Juan Pablo Fuentes

Formador de programación y bases de datos