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

java中Map和List初始化的N種方法總結(jié)

 更新時間:2023年03月22日 10:09:42   作者:網(wǎng)癮少年徐志摩  
這篇文章主要介紹了java中Map和List初始化的N種方法總結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Map和List初始化方法

第一種方法(常用方法)

//初始化List ?
List<string> list = new ArrayList<string><string>(); ?
list.add("string1"); ?
list.add("string2"); ?
list.add("stringN"); ?

//初始化Map ?
Map</String , Object> map = new HashMap</String , Object>(); ?
map.put("key1", "value1"); ?
map.put("key2", "value2"); ?
map.put("keyN", "valueN"); ?

第二種方法(雙括號初始化法)

又叫匿名內(nèi)部類初始化法,會產(chǎn)生大量的匿名內(nèi)部類class,不建議使用

//初始化List ?
?List<string> list = new ArrayList<string>(){{ ?
? ? ?add("string1"); ?
? ? ?add("string2"); ?
? ? ?add("stringN"); ?
?}}; ?
??
?//初始化Map ?
?Map</String , String> map = new HashMap</String , Object>(){{ ?
? ? ?put("key1", "value1"); ?
? ? ?put("key2", "value2"); ?
? ? ?put("keyN", "valueN"); ?
?}};?

第三種,stream初始化

在Java9中可使用LIst.of Map.of Set.of創(chuàng)建并初始化,但是注意創(chuàng)建的是不可變集合

Map map = Stream.of(1,2,3,4).collect(Collectors.toMap(o -> o,integer -> integer,(o, o2) -> o2,HashMap::new));
? ? ? ?System.out.println(JSONObject.toJSONString(map));

List list = Stream.of(1,2,3,4).collect(Collectors.toList());
? ? ? ?System.out.println(JSONObject.toJSONString(list));

其他:

利用Array與ArrayList的相互轉(zhuǎn)換方法初始化ArrayList,代碼如下:

ArrayList<String> list = new ArrayList(Arrays.asList("Tom", "Jerry", "Mike")); ?

利用Collections初始化

?? ?List<Integer> useCases = new ArrayList<Integer>();
??? ?Collections.addAll(useCases, 47, 48, 49, 50);

初始化Map和List小技巧(指定容量+匿名內(nèi)部類初始化)

在初始化Map和List時,可以手動指定其容量,然后按照匿名內(nèi)部類這種方式初始化數(shù)據(jù),代碼看起來會很清爽。

List<String> list = new ArrayList<String>(2) {{
? ? add("1");
? ? add("2");
}};

Map<String, Object> map = new HashMap<String, Object>(2) {{
? ? put("key1", "obj1");
? ? put("key2", "obj2");
}};

在已經(jīng)知道容量大小的情況下,指定容量會減小開銷。

外層“{}”創(chuàng)建了一個匿名子類,內(nèi)層“{}”創(chuàng)建了一個對象構(gòu)造塊。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 30分鐘入門Java8之lambda表達式學(xué)習(xí)

    30分鐘入門Java8之lambda表達式學(xué)習(xí)

    本篇文章主要介紹了30分鐘入門Java8之lambda表達式學(xué)習(xí),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • Java枚舉類使用Lombok方式

    Java枚舉類使用Lombok方式

    這篇文章主要介紹了Java枚舉類使用Lombok方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • springboot中websocket簡單實現(xiàn)

    springboot中websocket簡單實現(xiàn)

    本文主要介紹了springboot中websocket簡單實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • java中的PriorityQueue類過程詳解

    java中的PriorityQueue類過程詳解

    這篇文章主要介紹了java中的PriorityQueue類,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • 如何自定義MyBatis攔截器更改表名

    如何自定義MyBatis攔截器更改表名

    自定義MyBatis攔截器可以在方法執(zhí)行前后插入自己的邏輯,這非常有利于擴展和定制 MyBatis 的功能,本篇文章實現(xiàn)自定義一個攔截器去改變要插入或者查詢的數(shù)據(jù)源?,需要的朋友可以參考下
    2023-10-10
  • 詳解Java中Math.round()的取整規(guī)則

    詳解Java中Math.round()的取整規(guī)則

    這篇文章主要介紹了詳解Java中Math.round()的取整規(guī)則,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • 解決SpringBoot配置文件application.yml遇到的坑

    解決SpringBoot配置文件application.yml遇到的坑

    這篇文章主要介紹了解決SpringBoot配置文件application.yml遇到的坑,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 淺談java7增強的try語句關(guān)閉資源

    淺談java7增強的try語句關(guān)閉資源

    下面小編就為大家?guī)硪黄獪\談java7增強的try語句關(guān)閉資源。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Spring Boot中整合Spring Security并自定義驗證代碼實例

    Spring Boot中整合Spring Security并自定義驗證代碼實例

    本篇文章主要介紹了Spring Boot中整合Spring Security并自定義驗證代碼實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • SpringBoot定時任務(wù)參數(shù)運行代碼實例解析

    SpringBoot定時任務(wù)參數(shù)運行代碼實例解析

    這篇文章主要介紹了SpringBoot定時任務(wù)運行代碼實例解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06

最新評論