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方法,根据下标获取元素. } } }
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方法,根据下标获取元素 } } }
コードを実行し、コンテナー ArrayList (ArrayList とほぼ同じ) の追加、削除、変更、クエリ操作の実装を体験します。
3. HashMap
2. 使用法
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 获取元素 } } }
4. メリット、デメリット、相違点の比較
ここでは主にメリットとデメリットを把握します。 ArrayList と LinkedList のデメリット、その違い1. ArrayList の最下層は配列構造、LinkList の最下層はリンクリスト構造です。 2.LinkedList はリンク リストを使用して要素を格納します。これにより、挿入と削除の効率は高くなりますが、ランダム読み取りの効率は低くなります。 3.ArrayList は配列を利用して要素を格納するため、挿入や削除の効率は低いですが、ランダム読み取りの効率は高くなります。 次のことが言えます: 操作がデータの列の前や中央ではなく後にデータを追加するもので、要素にランダムにアクセスする必要がある場合、ArrayList を使用するとパフォーマンスが向上します。データ列の前または途中でデータを追加または削除し、要素に順番にアクセスする場合は、LinkedList を使用する必要があります。 ArrayList と LinkedList にはそれぞれパフォーマンスの点で独自の長所と短所があり、それぞれに独自の用途があります。次の表にいくつかのパフォーマンスの比較をまとめます。以上がJava ArrayList、LinkedList、HashMap の使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。