Maison  >  Article  >  Java  >  Comment utiliser Java ArrayList, LinkedList et HashMap

Comment utiliser Java ArrayList, LinkedList et HashMap

王林
王林avant
2023-04-27 15:58:071618parcourir

    1. ArrayList

    1. Principe

    Comment utiliser Java ArrayList, LinkedList et HashMap

    2. Utilisation

    Ouvrez un nouveau projet dans Idea, faites un clic droit sur src pour créer un nouveau package com.my.Container, puis créez un conteneur. class Entrez le code suivant

    package com.my.Container;
    import java.util.ArrayList;
    import java.util.Random;
    public class Container {
        public static void main(String[] args) {
            ArrayList<String> names = new ArrayList<>();//创建一个ArrayList对象,指定这个对象存储String对象元素。
            names.add("我是一号");
            names.add("我是二号");//向容器中添加两个元素
            System.out.println(names);//查看容器有多少个元素
            names.remove(0); //删除下标位置是0的元素
            System.out.println(names);//查看容器有多少个元素
            names.set(0,"我是三号"); //修改位置是0 的元素,改为 明天
            System.out.println(names);//查看容器有多少元素
            names.clear();//清空容器的所有元素
            //循环添加10个元素
            Random random = new Random();
            for (int i = 0 ; i < 10 ;i++){
                names.add("我是第"+random.nextInt(50)+"名");
            }
            for(int i=0; i<names.size(); i++){                            //遍历容器中的元素,把所有元素都访问一遍
                System.out.println("第"+(i+1)+"个元素为:" + names.get(i));  // get方法,根据下标获取元素.
            }
        }
    }

    Exécutez le code et découvrez la mise en œuvre des opérations d'ajout, de suppression, de modification et de requête du conteneur ArrayList.

    2. LinkedList

    1. Principe

    Comment utiliser Java ArrayList, LinkedList et HashMap

    2. Utilisation

    Créez une nouvelle liste liée.classe et entrez le code suivant

    package com.my.Container;
    import java.util.ArrayList;
    import java.util.LinkedList;
    import java.util.Random;
    public class linkedlist {
        public static void main(String[] args) {
            LinkedList<String> linkedNames = new LinkedList<>();//创建一个 LinkedList 对象 linkedNames,是用链表结构存储元素数据的
            linkedNames.add("我是1");
            linkedNames.add("我是2");
            linkedNames.add("我是3");//增加3个元素
            linkedNames.remove(1);//删除下标为1的元素
            linkedNames.set(1,"我是4");//修改下标为1的元素
            System.out.println(linkedNames);
            //linkedNames.clear();//清空容器的所有元素
            Random random2 = new Random();//循环添加10个元素
            for (int i = 0 ; i < 10 ;i++){
                linkedNames.add("我是"+random2.nextInt(100));
            }
            for(int i=0; i<linkedNames.size(); i++){ //遍历容器中的元素,把所有元素都访问一遍
                System.out.println("第"+(i+1)+"个元素为:" + linkedNames.get(i));  // get方法,根据下标获取元素
            }
        }
    }

    Exécutez le code et expérimentez la mise en œuvre de l'ajout, de la suppression, de la modification et vérifier les opérations du conteneur ArrayList (presque identique à ArrayList).

    3. HashMap

    1. Principe

    Comment utiliser Java ArrayList, LinkedList et HashMap

    2. Utilisation

    Créez une nouvelle hashmap.class et entrez le code suivant

    package com.my.Container;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.LinkedList;
    import java.util.Random;
    public class hashmap {
        public static void main(String[] args) {
            HashMap<String,String> mapNames = new HashMap<>();//创建一个 HashMap 对象 mapNames,是用链表结构存储元素数据的
            mapNames.put("NO1","我是1号");
            mapNames.put("NO2","我是2号");
            mapNames.put("NO3","我是3号"); //增加3个元素
            mapNames.remove("NO2");   //删除第二个元素
            mapNames.put("NO4","我是5号");  //修改第2个元素
            System.out.println(mapNames); //打印mapNames中所有元素
            mapNames.clear();//清空mapNames元素
            Random random3 = new Random();  //循环添加10个元素
            for (int i = 0 ; i < 10 ;i++){
                mapNames.put("NO"+i,"嫦娥"+random3.nextInt(100)+"号");
            }
            int i = 0;  //遍历容器中的元素,把所有元素都访问一遍
            for(String key :mapNames.keySet()){ //先获取key的集合,然后遍历每个key,
                i++; //定义i用来计数
                System.out.println("第"+(i+1)+"个元素为:"+ mapNames.get(key));  // get方法,根据key 获取元素
            }
        }
    }

    Exécutez le code ci-dessus pour expérimenter les opérations d'ajout, de suppression, de modification et de requête de Carte de hachage.

    Les résultats en cours sont les suivants :

    Comment utiliser Java ArrayList, LinkedList et HashMap

    4. Comparaison des avantages, des inconvénients et des différences

    Ici, nous saisissons principalement les avantages et les inconvénients d'ArrayList et de LinkedList, c'est-à-dire leurs différences

    1. de ArrayList est une structure de tableau et la couche inférieure de LinkList est une structure de liste chaînée.

    2.LinkedList utilise des listes chaînées pour stocker des éléments, ce qui a une efficacité d'insertion et de suppression élevée, mais une faible efficacité de lecture aléatoire.

    3.ArrayList utilise des tableaux pour stocker des éléments. L'efficacité d'insertion et de suppression est faible, mais l'efficacité de lecture aléatoire est élevée.

    Cela peut être dit comme ceci : lorsque l'opération consiste à ajouter des données après une colonne de données plutôt qu'au début ou au milieu, et que vous devez accéder aux éléments de manière aléatoire, l'utilisation d'ArrayList offrira de meilleures performances lorsque votre opération consiste à ajouter des données. ajouter des données dans une colonne de données Lorsque vous ajoutez ou supprimez des données devant ou au milieu et que vous accédez aux éléments dans l'ordre, vous devez utiliser LinkedList.

    ArrayList et LinkedList ont chacun leurs propres avantages et inconvénients en termes de performances, et chacun a sa propre application. Voici un résumé de quelques comparaisons de performances dans le tableau suivant

    Comment utiliser Java ArrayList, LinkedList et HashMap

    .

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Déclaration:
    Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer