JavaRush /Blog Java /Random-ES /Cómo utilizar las clases de colección ArrayList, Vector y...
ramhead
Nivel 13

Cómo utilizar las clases de colección ArrayList, Vector y HashMap proporcionadas por Java Collections Framework

Publicado en el grupo Random-ES
En este artículo, aprenderemos sobre tres clases de colección importantes ArrayList , Vector y HashMap del marco de colecciones y comenzaremos a usarlas en nuestro propio código. Cómo utilizar las clases de colección ArrayList, Vector y HashMap proporcionadas por Java Collections Framework - 1Usando las clases colección ArrayListy colección Vector, podemos almacenar un grupo de elementos como objetos simples y manipularlos usando varios métodos disponibles en estas clases. Clases ArrayListy Vectorestán disponibles en el paquete java.util. Otra clase es una colección, disponible en el paquete java.util, ésta HashMap, que le permite almacenar una colección de asignaciones clave-valor. Esto permite obtener el valor deseado de una colección cuando se conoce la clave. Veamos ejemplos que utilizan estas clases de colección uno por uno. Ejemplo 1. En este ejemplo, escribiremos un programa simple usando una clase: la colección ArrayList Listado 1. Código de ejecución, por ejemplo 1
// подключаем класс
import java.util.ArrayList;
public class ArrayListExample {
  static String[] favouriteCharacters = {"Harry", "Ron", "Hermione",  "Snape", "Dumbledore", "Moody", "Riddle", "Fred"};
   int i;
   public ArrayList favouritelist = new ArrayList();
// метод добавляет элементы ‘favouriteCharacters’ в ‘favouritelist’
 private void includeCharacters(String[]favouriteCharacters)
       {
        for (i = 0; i < favouriteCharacters.length; i++) {
            // добавление элементов по одному из массива ‘favouriteCharacters’
            favouritelist.add(favouriteCharacters[i]);
            printCharacters(i);
        }
// добавление элементов, посредством указания позиций
        favouritelist.add(1, "george");
        favouritelist.add(4, "Peter");
    }
// метод выводит элемент ‘favouritelist’ по указанной позиции
    private void printCharacters(int i) {
        System.out.println("Character " + (i + 1) + ":" + favouritelist.get(i));
    }
// метод выводит все элементы ‘favouritelist’
    private void printCharacters() {
        System.out.println("\n");
        for(int i=0;i<favouritelist.size();i++){
        System.out.println("Character" + (i + 1) + ":" + favouritelist.get(i));
    }    }
// метод возвращает размер коллекции ‘favouritelist’
    private int sizeofCharactersList() {
        System.out.println("\n");
        System.out.println("Total No of Characters in Array:" + favouriteCharacters.length);
        System.out.println("Total No of Characters in List:" + favouritelist.size());
        return favouritelist.size();
    }
// метод выводит позицию elemento ‘favouritelist’ по указанному имени
 public void getCharacterPostion(String characterName) {
     System.out.println("\n");
        System.out.println("The position of the character\t" + characterName + "\tis\t" + favouritelist.indexOf(characterName));
    }
// метод удаляет элемент ‘favouritelist’ по указанному имени
    public void removeCharacter(String characterName) {
        if(favouritelist.size()>favouriteCharacters.length){
        favouritelist.remove(characterName);
        }
        else{
             System.out.println("\n");
             System.out.println("The element\t"+favouritelist.get(favouritelist.indexOf(characterName))+"\tcannot be removed");
        }
        }
// метод удаляет элемент ‘favouritelist’ по указанной позиции
    public void removeCharacter(int i) {
        if(favouritelist.size()>favouriteCharacters.length){
        favouritelist.remove(i);
          }
        else{
            System.out.println("The element\t"+favouritelist.get(i)+"\tcannot be removed");
        }
    }
    public static void main(String args[]) {
        ArrayListExample example = new ArrayListExample();
        example.includeCharacters(favouriteCharacters);
        example.printCharacters();
        int size = example.sizeofCharactersList();
        example.getCharacterPostion("Ron");
        example.removeCharacter("Snape");
        example.removeCharacter(2);
        example.sizeofCharactersList();
        example.removeCharacter("Harry");
         example.removeCharacter(4);
    }
}
La ejecución de este programa producirá el siguiente resultado:
Character 1:Harry
Character 2:Ron
Character 3:Hermione
Character 4:Snape
Character 5:Dumbledore
Character 6:Moody
Character 7:Riddle
Character 8:Fred


Character1:Harry
Character2:george
Character3:Ron
Character4:Hermione
Character5:Peter
Character6:Snape
Character7:Dumbledore
Character8:Moody
Character9:Riddle
Character10:Fred


Total No of Characters in Array:8
Total No of Characters in List:10


The position of the character	Ron	is	2


Total No of Characters in Array:8
Total No of Characters in List:8


The element	Harry	cannot be removed
The element	Dumbledore	cannot be removed
Veamos el programa de ejemplo proporcionado, paso a paso. En este ejemplo, en la primera línea del programa, importamos la colección de clases ArrayList. Luego, nos turnamos para inicializar una serie de cadenas favouriteCharactersque contienen los nombres de personas y favouritelistuna instancia de la colección ArrayList. El método includeCharacters(args)se puede dividir en dos partes. En la primera parte del método, se agregan elementos de la matriz a la colección mediante un bucle. En este caso, la adición de elementos ArrayListse realiza en el mismo orden en que se encuentran en la matriz. Esto sucede porque no definimos ninguna posición para los elementos que se agregan a la colección. Pero en la segunda parte de nuestro método, los elementos se agregan mediante indexación. En este caso, los elementos se agregan a la colección en la posición exacta especificada. Cuando se agrega un nuevo elemento en medio de una colección ArrayList, los elementos que ya existen en esa colección y que se encuentran más allá de la posición de inserción especificada del nuevo elemento se desplazan a posiciones posteriores a las suyas propias, aumentando así el tamaño de la colección. Cuando miramos el resultado primero, veremos:
Total No of Characters in List: 10
Total No of Characters in Array: 8
Esto se debe a que además de que la matriz tiene 8 elementos, que se agregan ArrayList, agregamos explícitamente 2 elementos más, aumentando así el tamaño de la colección a 10. El método getCharacterPosition(args)toma el valor de un elemento (nombre de la persona) y muestra la posición. de este elemento en la colección ArrayList. Si no existe tal elemento en ArrayList, se muestra el valor -1. El método removeCharacter(args)elimina el valor del elemento especificado (nombre de la persona) de la colección, tomando como argumento el índice de ese elemento o el elemento mismo. En el código anterior, podemos notar que el tamaño de nuestra colección se ha convertido en 8 en lugar de 10 debido al hecho de que hemos eliminado 2 elementos de la colección. Si los tamaños de la matriz y la colección son iguales, entonces el método devuelve las siguientes líneas:
The element Harry cannot be removed
The element Dumbledore cannot be removed
La ejecución del método removeCharacter(args)sólo está condicionada a que el tamaño de la colección debe ser mayor que el tamaño del array. Ejemplo 2. En este ejemplo, escribiremos un programa simple usando una clase: una colección Vector Listado 2. Código de ejecución, por ejemplo 2
// подключаем класс
import java.util.Vector;
public class VectorExample {
    Vector vector=new Vector();
    public void addCharacterandPrint(){
        vector.add("Weasley");
        vector.add("Potter");
        for(int i=0;i<vector.size();i++){
        System.out.println("The characters are\t"+vector.get(i));
        }
    }
    public static void main(String args[]){
        VectorExample example=new VectorExample();
        example.addCharacterandPrint();
        }
}
La ejecución de este programa producirá el siguiente resultado:
The characters are Weasley
The characters are Potter
El código anterior es sólo una pequeña muestra, proporcionada como prueba de que no hay mucha diferencia entre colecciones ArrayListy Vector. La colección Vectorse puede manipular de la misma manera que la colección ArrayList, utilizando los mismos métodos. Ejemplo 3. En este ejemplo, escribiremos un programa simple usando la clase de colección HashMap Listado 3. Código de ejecución para el Ejemplo 3
// подключаем класс
import java.util.HashMap;
public class HashMapExample {
    HashMap hashMap=new HashMap();
    String Books[]={"Famous Five","Goosebumps","Robinson Crusueo","Nancy Drew","The Cell","The Davinci Code","Harry Potter"};
    public void mapAuthors(){
        hashMap.put("Famous Five","Enid Blyton");
        hashMap.put("Goosebumps","R.L.Stine");
        hashMap.put("Nancy Drew","Carolyn Keene");
        hashMap.put("The Cell","Christopher Pike");
        hashMap.put("The Davinci Code","Dan Brown");
        hashMap.put("Harry Potter","J.K. Rowling");
    }
    public void getBookList(){
        for(int i=0;i<Books.length;i++){
            if(hashMap.containsKey(Books[i])){
                System.out.println("Author"+(i+1)+":\t"+hashMap.get(Books[i])+"\t"+Books[i]);
            }
            else{
                System.out.println("\nThe Imformation about the author of the book\t"+Books[i]+"\tis not available\n");
            }
        }
    }
    public static void main(String args[]){
        HashMapExample hashMapExample=new HashMapExample();
        hashMapExample.mapAuthors();
        hashMapExample.getBookList();
    }
}
La ejecución de este programa producirá el siguiente resultado:
Author1: Enid Blyton Famous Five
Author2: R.L.Stine Goosebumps
The Information about the author of the book Robinson Crusueo is not available
Author4: Carolyn Keene Nancy Drew
Author5: Christopher Pike The Cell
Author6: Dan Brown The Davinci Code
Author7: J.K. Rowling Harry Potter
Veamos el código anterior, paso a paso. En este programa de ejemplo, tenemos una serie de cadenas cuyos elementos son los nombres de libros famosos. El método mapAuthors()crea una visualización de los títulos de los libros con sus autores. Las claves aquí son los títulos de los libros y los valores son los autores de esos libros. Cuando se llama al método getBookList(), recorre la matriz Booksy obtiene los títulos de los libros uno por uno. A continuación, el método comprueba si algún libro tiene su propio autor. Como podemos ver, si el método no puede encontrar el autor del libro, entonces se muestra el mensaje not available. De lo contrario, el autor y su libro se muestran uno por uno. Conclusión: En este artículo, estudiamos un poco sobre las clases: colecciones ArrayList, Vectory HashMaptratamos de usarlas en nuestro propio código. Artículo original: Cómo utilizar las clases ArrayList, Vector y HashMap proporcionadas por Java Collections Framework
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION