Java?ArrayList與LinkedList及HashMap容器怎么使用

蝸牛 互聯網技術資訊 2022-07-18 17 0

今天小編給大家分享一下Java?ArrayList與LinkedList及HashMap容器怎么使用的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

    一、ArrayList

    1.原理

    Java?ArrayList與LinkedList及HashMap容器怎么使用  java 第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.原理

    Java?ArrayList與LinkedList及HashMap容器怎么使用  java 第2張

    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.原理

    Java?ArrayList與LinkedList及HashMap容器怎么使用  java 第3張

    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的增刪改查操作。

    運行結果如下:

    Java?ArrayList與LinkedList及HashMap容器怎么使用  java 第4張

    四、對比優缺點及區別

    這里我們主要掌握ArrayList和LinkedList的優缺點,即它們的區別之處

    1.ArrayList底層是數組結構,LinkList底層是鏈表結構。

    2.LinkedList使用鏈表存儲元素,插入、刪除效率高,但隨機讀效率較低。

    3.ArrayList使用數組存儲元素,插入、刪除效率較低,但隨機讀效率高。

    可以這樣說:當操作是在一列數據的后面添加數據而不是在前面或中間,并且需要隨機地訪問其中的元素時,使用ArrayList會提供比較好的性能;當你的操作是在一列數據的前面或中間添加或刪除數據,并且按照順序訪問其中的元素時,就應該使用LinkedList了。

    ArrayList和LinkedList在性能上各有優缺點,都有各自所適用的地方,這里將一些性能對比總結如下表

    Java?ArrayList與LinkedList及HashMap容器怎么使用  java 第5張

    以上就是“Java?ArrayList與LinkedList及HashMap容器怎么使用”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注蝸牛博客行業資訊頻道。

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:niceseo99@gmail.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    評論

    2018人人澡人摸人人添_月夜影视在线观看资源_一本二卡三卡四卡乱码小说_tobu8在线观看下载