Java?ArrayList與LinkedList及HashMap容器怎么使用
今天小編給大家分享一下Java?ArrayList與LinkedList及HashMap容器怎么使用的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
一、ArrayList
1.原理
2.用法
打開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
1.原理
2.用法
新建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
1.原理
2.用法
新建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容器怎么使用”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注蝸牛博客行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:niceseo99@gmail.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。
評論