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方法,根据下标获取元素. } } }
untuk menjalankan kod dan rasai pelaksanaannya operasi tambah, padam, ubah suai dan semak bekas ArrayList.
2. LinkedList
2 kod berikut
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方法,根据下标获取元素 } } }
3. HashMap
1. Prinsip
2 kod berikutpackage 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 获取元素 } } }
1 Lapisan bawah ArrayList ialah struktur tatasusunan, dan lapisan bawah LinkList ialah struktur senarai terpaut.
3.ArrayList menggunakan tatasusunan untuk menyimpan elemen Kecekapan pemasukan dan pemadaman adalah rendah, tetapi kecekapan membaca rawak adalah tinggi.
Anda boleh mengatakan ini: Apabila operasi adalah untuk menambah data selepas lajur data dan bukannya di hadapan atau tengah, dan anda perlu mengakses elemen secara rawak, menggunakan ArrayList akan memberikan prestasi yang lebih baik apabila operasi anda Apabila anda menambah atau memadam data di hadapan atau di tengah-tengah lajur data dan mengakses elemen mengikut tertib, anda harus menggunakan LinkedList.
ArrayList dan LinkedList masing-masing mempunyai kelebihan dan kekurangan masing-masing dari segi prestasi, dan masing-masing mempunyai aplikasi tersendiri Berikut adalah ringkasan beberapa perbandingan prestasi dalam jadual berikut
<.>Atas ialah kandungan terperinci Cara menggunakan Java ArrayList, LinkedList dan HashMap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!