Advertisement
s00rk

Clase Arrays

Apr 19th, 2012
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.70 KB | None | 0 0
  1. /*
  2.  *
  3.  *  En este archivo se pretende dar un breve explicacion sobre algunas de las propiedades de la clase Arrays
  4.  *
  5.  */
  6.  
  7. import java.util.Arrays;
  8. import java.util.Random;
  9.  
  10. public class clsArray
  11. {
  12.     public static void main(String[] args)
  13.     {
  14.         // Creamos un arreglo de 10 elementos de tipo Entero(int)
  15.         int [] x = new int[10];
  16.        
  17.         // Creamos una variable de tipo Random esta solo sera usada para llenar nuestro arreglo con numeros aleatorios
  18.         Random rnd = new Random();
  19.        
  20.         // En este ciclo iremos de 0 - 9 para llenar nuestro arreglo con numeros aleatorios de 0 - 9
  21.         for(int i = 0; i < 10; i++)
  22.             x[i] = (int)(rnd.nextDouble()*10.0); // Va guardando numeros aleatorios en el arreglo segun la posicion [i]
  23.        
  24.         /*
  25.          *  Algo que nos ofrece la clase Arrays, es el obtener todo el contenido del arreglo a un string,
  26.          *  para asi poder imprimirlo mas facilmente.
  27.          *  (Este lo iremos usando varias veces para ir mostrando en pantalla los cambios que se hayan
  28.          *  hecho mediante el uso de las propiedades de Arrays)
  29.          */
  30.         SOP("Arrays.toString(x)\n" + Arrays.toString(x));
  31.        
  32.         /*
  33.          *  Otra cosa muy usual es el uso de algoritmos de ordenamiento, en el cual la clase Arrays, ya
  34.          *  cuenta con uno y solamente hay que llamarlo usando Arrays.sort(arreglo) (Lo hace de menor a mayor),
  35.          *  ademas uno tambien puede indicarle si deceamos ordenarlo solamente desde una posicion a otra
  36.          *  Arrays.sort(arreglo, posicionInicial, posicionFinal)
  37.          */
  38.         Arrays.sort(x);
  39.         SOP("\nArrays.sort(x)\n" + Arrays.toString(x));
  40.        
  41.         /*
  42.          *  Otra propiedad que podemos usar es el Arrays.binarySearch(arreglo, objectoBuscar), con el cual como bien lo dice podemos
  43.          *  buscar un objeto dentro del arreglo, y si este existe dentro de el, nos devolvera la primera
  44.          *  posicion donde se encuentre - 1, si no existe nos devolvera un numero negativo.
  45.          *  NOTA.- Antes de usar esta propiedad se deve usar previamente la propiedad sort, puesto que si
  46.          *  hay multiples elementos NO HAY GARANTIA DE QUE SEA ENCONTRADO SI ES QUE EXISTE
  47.          */
  48.         SOP("\nArrays.binarySearch(x, 6)\n" + Arrays.binarySearch(x, 6));
  49.        
  50.         /*
  51.          * Aveces lo que deceamos es hacer una copia exacta de alguna cantidad de indices del arreglo o del
  52.          * arreglo total, pero esto puede llegar a ser un poco molesto o largo nuestro algoritmo, por lo que aqui podemos
  53.          * usar la propiedad Arrays.copyOf(arreglo, CantidadDeElementosACopiar), esta funcion nos retorna
  54.          * un arreglo del mismo tipo del que fue enviado junto con la cantidad de elementos que se hayan pedido a copiar,
  55.          * si se pidieron mas numeros del que hay en el arreglo original en esos espacios se regresaran 0's
  56.          * Si se decea hacer una copia exacta basta con poner:
  57.          * TipoObject [] variable = Arrays.copyOf(arreglo, arreglo.length);
  58.          */
  59.         int [] xx = Arrays.copyOf(x, 12);
  60.         SOP("\nint [] xx = Arrays.copyOf(x, 12)\n" + Arrays.toString(xx));
  61.        
  62.         /*
  63.          * Otra propiedad que podriamos llegar a utilizar es la Arrays.equals(arreglo1, arreglo2), que pues
  64.          * como bien lo dice ahi nos compara 2 arreglos donde si estos son iguales, respecto al tipo, cantidad de elementos
  65.          * y orden de sus elementos regresara true y sino un false
  66.          */
  67.         SOP("\nArrays.equals(x, xx)\n"+Arrays.equals(x, xx));
  68.        
  69.         /*
  70.          * La propiedad Arrays.fill(arreglo, valor), con ella es rellenar todo el arreglo con el valor que
  71.          * hayamos colocado, esto sirve bastante para evitar hacer ciclos cuando deseamos rellenar un arreglo
  72.          * con el mismo valor
  73.          */
  74.         Arrays.fill(x, 5);
  75.         SOP("\nArrays.fill(x, 5)\n" + Arrays.toString(x));
  76.     }
  77.    
  78.     // Funcion SOP , para utilizar mas comodamente el System.out.println()
  79.     private static void SOP(Object msj)
  80.     {
  81.         System.out.println(msj);
  82.     }
  83.  
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement