最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java?詳解Collection集合之ArrayList和HashSet

 更新時間:2022年03月23日 11:49:04   作者:桃花鍵神  
本章具體介紹了ArrayList和HashSet兩種集合的基本使用方法和區(qū)別,圖解穿插代碼實現(xiàn)。?JAVA成仙路從基礎開始講,后續(xù)會講到JAVA高級,中間會穿插面試題和項目實戰(zhàn),希望能給大家?guī)韼椭?/div>

img

Collection

Collection接口被List接口和Set接口繼承

本章只介紹常用的集合

List

ArrayList是List接口的實現(xiàn)類

ArrayList

ArrayList 類是一個可以動態(tài)修改的數(shù)組,與普通數(shù)組的區(qū)別就是它是沒有固定大小的限制,我們可以添加或刪除元素。

ArrayList 繼承了 AbstractList ,并實現(xiàn)了 List 接口。

創(chuàng)建ArrayList對象:

public class List {
    public static void main(String[] args) {
        var list = new ArrayList();
    }
}

向集合中添加數(shù)據(jù):

add()

public class List {
    public static void main(String[] args) {
        var list = new ArrayList();
        list.add("a");
        list.add(1);
        list.add(1);
        System.out.println(list);
    }
}

清空集合數(shù)據(jù):

clear()

public class List {
    public static void main(String[] args) {
        var list = new ArrayList();
        list.add("a");
        list.add(1);
        list.add(1);
        System.out.println(list);
        list.clear();
        System.out.println(list);
    }
}

修改指定索引位置的對象

set()

public class List {
    public static void main(String[] args) {
        var list = new ArrayList();
        list.add("a");
        list.add(1);
        list.add(1);
        System.out.println(list);
        list.set(2, "a");
        System.out.println(list);
    }
}

Set

HashSet

  • HashSet 基于 HashMap 來實現(xiàn)的,是一個不允許有重復元素的集合。
  • HashSet 允許有 null 值。
  • HashSet 是無序的,即不會記錄插入的順序。
  • HashSet 不是線程安全的, 如果多個線程嘗試同時修改 HashSet,則最終結果是不確定的。 您必須在多線程訪問時顯式同步對 HashSet 的并發(fā)訪問。
  • HashSet 實現(xiàn)了 Set 接口。

創(chuàng)建ArrayList對象:

public class Set {
    public static void main(String[] args) {
        var set = new HashSet<>();
      
    }
}

向集合中添加數(shù)據(jù):

add()

集合中的元素不能重復

public class Set {
    public static void main(String[] args) {
        var set = new HashSet<>();
        set.add(1);
        set.add("a");
        set.add("a");
        System.out.println(set);
    }
}

清空集合數(shù)據(jù):

clear()

public class Set {
    public static void main(String[] args) {
        var set = new HashSet<>();
        set.add(1);
        set.add("a");
        set.add("a");
        System.out.println(set);
        set.clear();
        System.out.println(set);
    }
}

刪除指定元素

public class Set {
    public static void main(String[] args) {
        var set = new HashSet<>();
        set.add(1);
        set.add("a");
        set.add("a");
        System.out.println(set);
        set.remove("a");
        System.out.println(set);
    }
}

ArrayList和HashSet的區(qū)別

1.HashSet 是不重復的 而且是無序的! 唯一性保證. 重復對象equals方法返回為true ,重復對象hashCode方法返回相同的整數(shù) HashSet其實就是一個HashMap,只是你只能通過Set接口操作這個HashMap的key部分

2.ArrayList是可重復的 有序的 特點:查詢效率高,增刪效率低 輕量級 線程不安全。 arraylist:在數(shù)據(jù)的插入和刪除方面速度不佳,但是在隨意提取方面較快

泛型

泛型程序設計(generic programming)是程序設計語言的一種風格或范式。泛型允許程序員在強類型程序設計語言中編寫代碼時使用一些以后才指定的類型,在實例化時作為參數(shù)指明這些類型。各種程序設計語言和其編譯器、運行環(huán)境對泛型的支持均不一樣。

一般用集合的時候都會用到泛型,泛型就是給集合加一個類型約束。 它可以是String、可以是Object 泛型不支持基本類型int,請使用包裝器類型 Integer

創(chuàng)建泛型:

List<String> list = new ArrayList<>();

這樣這個集合里面只能加String類型。

到此這篇關于Java 詳解Collection集合之ArrayList和HashSet的文章就介紹到這了,更多相關Java Collection集合內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • java簡單坦克大戰(zhàn)制作代碼

    java簡單坦克大戰(zhàn)制作代碼

    這篇文章主要介紹了java簡單坦克大戰(zhàn)制作代碼,利用Java語言中的集合、Swing、線程等知識點編寫一個坦克大戰(zhàn)游戲,需要的朋友可以參考下
    2016-07-07
  • linux配置java環(huán)境變量詳細過程

    linux配置java環(huán)境變量詳細過程

    這篇文章主要介紹了linux配置java環(huán)境變量詳細過程,需要的朋友可以參考下
    2015-09-09
  • Java的MoreSuppliers工具類方法解析

    Java的MoreSuppliers工具類方法解析

    這篇文章主要介紹了Java的MoreSuppliers工具類方法解析,MoreSuppliers類是一個Java工具類,它提供了一些增強的Supplier函數(shù),使得Supplier執(zhí)行的結果可以被緩存,真正的調用只執(zhí)行一次,需要的朋友可以參考下
    2024-01-01
  • Java實現(xiàn)經(jīng)典捕魚達人游戲的示例代碼

    Java實現(xiàn)經(jīng)典捕魚達人游戲的示例代碼

    《捕魚達人》是一款以深海狩獵為題材的休閑競技游戲。本文將利用Java實現(xiàn)這一經(jīng)典的游戲,文中采用了swing技術進行了界面化處理,需要的可以參考一下
    2022-02-02
  • java獲取request中的參數(shù)以及java解析URL問號后的參數(shù)

    java獲取request中的參數(shù)以及java解析URL問號后的參數(shù)

    這篇文章主要介紹了java獲取request中的參數(shù)以及java解析URL問號后的參數(shù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 如何讓java只根據(jù)數(shù)據(jù)庫表名自動生成實體類

    如何讓java只根據(jù)數(shù)據(jù)庫表名自動生成實體類

    今天給大家?guī)淼闹R是關于Java的,文章圍繞著如何讓java只根據(jù)數(shù)據(jù)庫表名自動生成實體類展開,文中有非常詳細的介紹,需要的朋友可以參考下
    2021-06-06
  • Java反射機制用法總結

    Java反射機制用法總結

    反射機制是在運行狀態(tài)中,對于任意一個類,都能夠知道這個類的所有屬性和方法;對于任意一個對象,都能夠調用它的任意一個方法和屬性;這種動態(tài)獲取的信息以及動態(tài)調用對象的方法的功能稱為java語言的反射機制。下面我們來一起學習一下吧
    2019-05-05
  • Java中的分割字符串?split(“.”)無效問題

    Java中的分割字符串?split(“.”)無效問題

    這篇文章主要介紹了Java中的分割字符串?split(“.”)無效問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Java transient關鍵字與序列化操作實例詳解

    Java transient關鍵字與序列化操作實例詳解

    這篇文章主要介紹了Java transient關鍵字與序列化操作,結合實例形式詳細分析了java序列化操作相關實現(xiàn)方法與操作注意事項,需要的朋友可以參考下
    2019-09-09
  • java 序列化對象 serializable 讀寫數(shù)據(jù)的實例

    java 序列化對象 serializable 讀寫數(shù)據(jù)的實例

    java 序列化對象 serializable 讀寫數(shù)據(jù)的實例,需要的朋友可以參考一下
    2013-03-03

最新評論

石景山区| 郓城县| 武功县| 班玛县| 巴马| 兴化市| 北票市| 教育| 泉州市| 温宿县| 依安县| 彰武县| 秦安县| 华坪县| 会宁县| 尚志市| 锡林浩特市| 南充市| 河南省| 五大连池市| 福鼎市| 垣曲县| 凤山县| 张家界市| 湘阴县| 黔江区| 仪征市| 玛曲县| 贵阳市| 永安市| 灵川县| 六安市| 波密县| 老河口市| 收藏| 布尔津县| 阿拉善右旗| 铜陵市| 井研县| 东安县| 锡林郭勒盟|