<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
Java中容器物件主要用來儲存其他物件,根據實現原理不同,主要有3類常用的容器物件:
1、ArrayList 使用陣列結構儲存容器中的元素
2、LinkedList 使用連結串列結構儲存容器中的元素
3、HashMap 使用Hash原理,同時使用陣列和連結串列結構
開啟Idea新建專案,右擊src新建包com.my.Container,再建立Container.class 輸入以下程式碼
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方法,根據下標獲取元素. } } }
執行程式碼,體會容器ArrayList的增刪改查操作的實現。
新建linkedlist.class輸入以下程式碼
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幾乎一致)。
新建hashmap.class 輸入以下程式碼
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 獲取元素 } } }
執行上面的程式碼,體會 HashMap的增刪改查操作。
執行結果如下:
這裡我們主要掌握ArrayList和LinkedList的優缺點,即它們的區別之處
1.ArrayList底層是陣列結構,LinkList底層是連結串列結構。
2.LinkedList使用連結串列儲存元素,插入、刪除效率高,但隨機讀效率較低。
3.ArrayList使用陣列儲存元素,插入、刪除效率較低,但隨機讀效率高。
可以這樣說:當操作是在一列資料的後面新增資料而不是在前面或中間,並且需要隨機地存取其中的元素時,使用ArrayList會提供比較好的效能;當你的操作是在一列資料的前面或中間新增或刪除資料,並且按照順序存取其中的元素時,就應該使用LinkedList了。
ArrayList和LinkedList在效能上各有優缺點,都有各自所適用的地方,這裡將一些效能對比總結如下表
到此這篇關於Java ArrayList與LinkedList及HashMap容器的用法區別的文章就介紹到這了,更多相關Java ArrayList LinkedList HashMap內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45