欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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實現(xiàn)數(shù)組翻轉的實現(xiàn)代碼

    Java實現(xiàn)數(shù)組翻轉的實現(xiàn)代碼

    這篇文章主要介紹了Java實現(xiàn)數(shù)組翻轉的實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09
  • 帶你了解Java中的異常處理(下)

    帶你了解Java中的異常處理(下)

    這篇文章主要介紹了Java中的異常處理的相關資料,幫助大家更好的理解和學習Java,感興趣的朋友可以了解下
    2020-08-08
  • Java中的MessageDigest類加密詳解

    Java中的MessageDigest類加密詳解

    這篇文章主要介紹了Java中的MessageDigest類加密詳解,MessageDigest?類是一個引擎類,它是為了提供諸如?SHA1?或?MD5?等密碼上安全的報文摘要功能而設計的,需要的朋友可以參考下
    2024-01-01
  • MyBatis中#{}占位符與${}拼接符的用法說明

    MyBatis中#{}占位符與${}拼接符的用法說明

    這篇文章主要介紹了MyBatis中#{}占位符與${}拼接符的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • spring mvc利用ajax向controller傳遞對象的方法示例

    spring mvc利用ajax向controller傳遞對象的方法示例

    這篇文章主要給大家介紹了關于spring mvc利用ajax向controller傳遞對象的相關資料,文中通過示例代碼將步驟介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來跟著小編一起學習學習吧。
    2017-07-07
  • Java FineReport報表工具導出EXCEL的四種方式

    Java FineReport報表工具導出EXCEL的四種方式

    這篇文章主要介紹了Java FineReport報表工具導出EXCEL的四種方式的相關資料,需要的朋友可以參考下
    2016-03-03
  • 簡單了解spring cloud 網關服務

    簡單了解spring cloud 網關服務

    這篇文章主要介紹了簡單了解spring cloud 網關服務,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • Java之Pattern.compile函數(shù)用法詳解

    Java之Pattern.compile函數(shù)用法詳解

    這篇文章主要介紹了Java之Pattern.compile函數(shù)用法詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-08-08
  • Spring Security認證機制源碼層探究

    Spring Security認證機制源碼層探究

    SpringSecurity是基于Filter實現(xiàn)認證和授權,底層通過FilterChainProxy代理去調用各種Filter(Filter鏈),F(xiàn)ilter通過調用AuthenticationManager完成認證 ,通過調用AccessDecisionManager完成授權
    2023-03-03
  • Java編碼輔助工具Mapstruct用法詳解

    Java編碼輔助工具Mapstruct用法詳解

    這篇文章主要介紹了Java編碼輔助工具Mapstruct用法詳解,手動編碼setter/getter各個對應屬性,會顯得臃腫繁瑣。通過Mapstruct框架可簡單方便地完成這一工作。,需要的朋友可以參考下
    2019-06-06

最新評論