Aprenda programación en Java: cómo usar listas, hilos y compañía
En el último artículo de nuestra serie Java, explicamos cómo manejar correctamente los hilos, listas, excepciones y archivos en Java.
Java: ¿cuáles son las excepciones?
Si aún no ha trabajado con Java, puede leer nuestros "Conceptos básicos" aquí primero. Se pueden encontrar varios códigos de muestra en la galería de imágenes al final del artículo.
- Una excepción es un problema que ocurre mientras el programa se está ejecutando.
- Hay un código especial para manejar dicho comando. Para hacer esto, primero escriba "try {" y luego el código que se ejecutará. Luego escriba "} catch (Exception e) {" y luego varios comandos para ejecutar si la operación anterior no es posible. No olvides agregar una llave al final.
- Un comando de lanzamiento también es muy práctico. Un ejemplo de esto es el código »int div (int a, int b) arroja« ⮩ »ArithmeticException {« ⮩ »if (b == 0) {« ⮩ »arroja una nueva ArithmeticException (" ¡División por 0! ");« ⮩ »} Else {« ⮩ »devuelve a / b;« ⮩ »}« ⮩ »}«. La declaración throws en el método define qué tipo de excepción puede obtener el método. La palabra clave throw determina lo que debe suceder con esta excepción.
- Práctico: un solo bloque de prueba puede contener varios bloques de captura.
Usar hilos en Java
Los subprocesos le permiten ejecutar diferentes comandos en Java al mismo tiempo. Hay dos formas diferentes de crear un hilo.
- Por un lado, cierta clase puede heredar de la clase "Thread". Por ejemplo, primero escriba "class Loader extiende Thread {". Luego debe definir un método con "public void run () {" que describe las funciones del hilo. En otra clase ahora puede usar el comando "Loader obj = new Loader ();" para usar el método "obj.start ();" para iniciar el hilo.
- Alternativamente, puede implementar la interfaz "Ejecutable" en una clase. Puede hacerlo con el comando "class Loader implementa Runnable {". Defina un método de ejecución nuevamente. Ahora puede iniciar el hilo en otra clase con el código "Thread t = new Thread (new Loader ());" ⮩ "t.start ();"
- Consejo: puede usar el comando "Thread.sleep (1000);" para dejar que el hilo descanse por un segundo. Sin embargo, tenga en cuenta que este comando genera una excepción interrumpida.
Crear listas en Java
Hay dos tipos diferentes de listas en Java: "ArrayList" y "LinkedList".
- Por lo general, las matrices en Java solo pueden almacenar una cierta cantidad de objetos. Sin embargo, hay una función llamada "ArrayList" en la API de Java. Primero escriba "import java.util.ArrayList;" para importar el paquete requerido. Ahora puede usar el comando ArrayList colors = new ArrayList (); para crear una nueva lista. Opcionalmente, puede utilizar el comando ArrayList colors = new ArrayList (10); para crear una lista que especifique el tipo y el tamaño de los datos de antemano.
- Ahora puede agregar algo a la lista con el comando »colors.add (" ... ");«. Con »colors.remove (" ... ");« este proceso puede revertirse. También puede usar »colors.contains (...);« para preguntar si la lista contiene un elemento determinado o usar el comando »colors.get (int x);« para obtener un valor con un índice determinado. Finalmente, puede usar »colors.size ();« para consultar el número de elementos en la lista y usar »colors.clear ();« para eliminar todos los elementos de la lista.
- Alternativamente, también está la "LinkedList", que puede importar con el comando »import java.util.LinkedList;«. Los comandos son los mismos aquí; sin embargo, debe escribir "LinkedList" cada vez en lugar de "ArrayList". Una ArrayList es más adecuada para almacenar objetos a los que se puede acceder más tarde. Debe usar una LinkedList si desea cambiar los datos.
Java: usar HashMap
En las listas anteriores, cada objeto tiene un índice (entero). El HashMap se utiliza para almacenar datos con un par de valores que consisten en "Clave" y "Objeto".
- Importa HashMap con el comando »import java.util.HashMap;«. Similar a las listas, ahora puede crear un HashMap con el comando »Puntos HashMap = new HashMap ();«.
- A continuación, por ejemplo, puede agregar el comando »points.put (" Amy ", 154);«. El comando »System.out.println (" points.get ("Amy")); «ahora genera el valor 154. Una vez más, puede utilizar métodos remove para eliminarlo.
- Un HashMap no puede contener objetos con dos claves idénticas. Un objeto simplemente se sobrescribirá. Los métodos "contiene clave" y "contiene valor" son muy prácticos y se pueden utilizar para verificar si existe un objeto o una clave en HashMap.
- También hay los llamados "conjuntos hash". Un conjunto es una colección de valores, por lo que nunca pueden existir dos valores idénticos. El comando import java.util.HashSet; se usa para importar. Por ejemplo, puede crear un nuevo conjunto con el comando »HashSet set = new HashSet ();«. Ahora puede agregar elementos a este HashSet con el comando »set.add (" ... ");«. El comando »System.out.println (set);« finalmente muestra todos los comandos del conjunto.
- Por lo general, el orden de los elementos dentro de un conjunto hash no se mantiene de manera consistente. Sin embargo, si lo desea, puede usar un "LinkedHashSet".
- Por cierto: una tabla hash almacena información a través de un mecanismo llamado "hash", en el que cada valor de una clave se utiliza para determinar un valor único llamado "código hash". En pocas palabras, esto significa que cada elemento de un conjunto hash está vinculado a un código hash.
Ordenar listas y usar iteradores
Para trabajar con listas aún más eficientemente, puede ordenarlas y usar iteradores.
- La API de Java también incluye la clase de colecciones. Uno de los métodos más prácticos aquí es el método de clasificación. Todos los métodos de la clase de colecciones son métodos estáticos, por lo que no es necesario declararlos nuevamente. Por ejemplo, si creó una ArrayList llamada "animal", puede ordenar sus valores utilizando el comando Collections.sort (animal); Puede importar la clase Colecciones con el comando »import java.util.Collections;«.
- Un iterador es un objeto que circula por una colección y recibe y puede eliminar valores. Importa el paquete requerido con el comando »import java.util.iterator;«. En este caso, ya hemos creado una LinkedList llamada "animales". Ahora puede definir el iterador con el comando »Iterator it = animals.iterator ();«. Si ahora ejecuta el comando »System.out.println (it.next ());«, se genera el primer elemento de LinkedList. Si ejecuta el comando nuevamente, el iterador avanza un paso más y genera el segundo elemento. Aquí también puede eliminar elementos con un método de eliminación. También está el método hasNext, que puede usar para verificar si existe otro elemento.
Java: crea y usa archivos
Puede crear y usar fácilmente sus propios archivos en Java.
- Para hacer esto, primero debe importar el paquete requerido utilizando el comando "import java.io.File;". Luego defina un archivo con una ruta adecuada usando el comando »Archivo de archivo = archivo nuevo (" C: \\ data \\ input-file.txt ");«. Con »if (x.exists ()) {« puede Verifique si el archivo existe. Obtiene el nombre del archivo con "x.getName ()".
- En el siguiente paso, puede crear un nuevo escáner con el comando »Scanner sc = new Scanner (x);«. Nuevamente, puede usar comandos como "sc.next ()" o "sc.hasNext ()" para leer los datos de un archivo. Funciona muy bien en un ciclo while. No olvide cerrar el archivo con "sc.close ();" al final.
- Para poder escribir en archivos, primero debe agregar el comando "import java.util.Formatter;" a su código. El comando »Formatter f = new Formatter (" C: \\ CHIP \\ test.txt ");« ahora crea un archivo llamado "test.txt" en la ruta especificada.
- Para poder escribir en el archivo, puede usar el comando »f.format ("% s% s% s, "1", "Max", "Mustermann \ r \ n"); «. % s "para una cadena que se reemplaza por el primer parámetro, el segundo"% s "por el segundo parámetro, etc. El programa salta a la siguiente línea presionando" \ r \ n ".
Aquí es donde termina nuestra serie de tutoriales sobre el lenguaje de programación Java. En el siguiente consejo práctico, le daremos una introducción a la programación con Python.