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

Java?在?Array?和?Set?之間進(jìn)行轉(zhuǎn)換的示例

 更新時(shí)間:2023年05月10日 08:49:54   作者:huyuchengus  
這篇文章主要介紹了Java如何在Array和Set之間進(jìn)行轉(zhuǎn)換,在本文章中,我們對(duì)如何在?Java?中對(duì)Array和Set進(jìn)行轉(zhuǎn)換進(jìn)行一些說(shuō)明和示例,需要的朋友可以參考下

概述

在本文章中,我們對(duì)如何在 Java 中對(duì) Array 和 Set 進(jìn)行轉(zhuǎn)換進(jìn)行一些說(shuō)明和示例。

這些示例通過(guò)使用 Core Java 和一些第三方的轉(zhuǎn)換工具,例如 Guava 和 Apache Commons Collections。

從 List 轉(zhuǎn)換為 Set

使用原生 Java 代碼

讓我們首先來(lái)看看如何在原生 Java 中把數(shù)組轉(zhuǎn)換為 Set。

通過(guò)下面的代碼,我們了解到首先需要把 Array 轉(zhuǎn)換為 List,然后再把這個(gè) List 轉(zhuǎn)換為 Set。

@Test
public void givenUsingCoreJavaV1_whenArrayConvertedToSet_thenCorrect() {
    Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 };
    Set<Integer> targetSet = new HashSet<Integer>(Arrays.asList(sourceArray));
}

可選的,我們可以首先定義一個(gè) Set 對(duì)象,然后把這個(gè) Set 對(duì)象的元素進(jìn)行填充:

@Test
public void givenUsingCoreJavaV2_whenArrayConvertedToSet_thenCorrect() {
    Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 };
    Set<Integer> targetSet = new HashSet<Integer>();
    Collections.addAll(targetSet, sourceArray);
}

使用 Guava

我們可以使用 Guava 轉(zhuǎn)換工具來(lái)把數(shù)組給出的數(shù)組來(lái)進(jìn)行初始化。

@Test
public void givenUsingGuava_whenArrayConvertedToSet_thenCorrect() {
    Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 };
    Set<Integer> targetSet = Sets.newHashSet(sourceArray);
}

使用 Apache Commons Collections

最后我們可以使用 Apache 的 Commons Collection 的庫(kù)來(lái)進(jìn)行處理。

這個(gè)處理方法和我們使用原生 Java 代碼差不多,首先需要對(duì) Set 進(jìn)行初始化,然后再把 Set 中的元素進(jìn)行填充。

@Test
public void givenUsingCommonsCollections_whenArrayConvertedToSet_thenCorrect() {
    Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 };
    Set<Integer> targetSet = new HashSet<>(6);
    CollectionUtils.addAll(targetSet, sourceArray);
}

從 Set 轉(zhuǎn)換為 Array

使用原生 Java

Set 中有一個(gè) toArray 的方法,你可以直接使用這個(gè)方法來(lái)把給出的 Set 轉(zhuǎn)換為 Array。

@Test
public void givenUsingCoreJava_whenSetConvertedToArray_thenCorrect() {
    Set<Integer> sourceSet = Sets.newHashSet(0, 1, 2, 3, 4, 5);
    Integer[] targetArray = sourceSet.toArray(new Integer[0]);
}

需要注意的是,我們?cè)谶@里使用了 toArray(new T[0]) 來(lái)對(duì)變量進(jìn)行初始化,相對(duì)使用 toArray(new T[size]) 這個(gè)方法。

使用 toArray(new T[0]) 來(lái)對(duì)數(shù)組進(jìn)行初始化更加安全,快速,易讀。

使用 Guava

下一步,讓我們來(lái)使用 Guava 的 API 來(lái)進(jìn)行轉(zhuǎn)換。

@Test
public void givenUsingGuava_whenSetConvertedToArray_thenCorrect() {
    Set<Integer> sourceSet = Sets.newHashSet(0, 1, 2, 3, 4, 5);
    int[] targetArray = Ints.toArray(sourceSet);
}

Ints 中有一個(gè) toArray 的方法,這個(gè)方法將會(huì)把整數(shù)類型的 List 轉(zhuǎn)換為 Array。

需要注意的是 Ints 的類型需要和數(shù)組中的類型進(jìn)行匹配才可以。

結(jié)論

在 Java 的集合類型直接進(jìn)行轉(zhuǎn)換是我們需要經(jīng)常進(jìn)行操作的方法和需求。

Guava 的方法 Sets 中通常能夠?qū)?Set 進(jìn)行比較好的操作,包括對(duì) Set 的對(duì)象進(jìn)行初始化。

我們可以用這個(gè)對(duì)象中的初始化參數(shù)來(lái)對(duì)數(shù)組轉(zhuǎn)換為 Set。

使用 Commons Collections 還是有點(diǎn)晦澀。

到此這篇關(guān)于Java 如何在 Array 和 Set 之間進(jìn)行轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)Java  Array 和 Set 轉(zhuǎn)換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Maven install 報(bào)錯(cuò)

    Maven install 報(bào)錯(cuò)"程序包不存在"問(wèn)題的解決方法

    這篇文章主要介紹了Maven install 報(bào)錯(cuò)"程序包不存在"問(wèn)題的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Java?ThreadPoolExecutor線程池有關(guān)介紹

    Java?ThreadPoolExecutor線程池有關(guān)介紹

    這篇文章主要介紹了Java?ThreadPoolExecutor線程池有關(guān)介紹,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • Spring依賴注入的幾種方式分享梳理總結(jié)

    Spring依賴注入的幾種方式分享梳理總結(jié)

    這篇文章主要介紹了Spring依賴注入的幾種方式分享梳理總結(jié),文章圍繞主題展開詳細(xì),具有一定參考價(jià)值,需要的朋友可以參考一下
    2022-07-07
  • 關(guān)于找不到Servlet的問(wèn)題及解決

    關(guān)于找不到Servlet的問(wèn)題及解決

    在實(shí)現(xiàn)Servlet接口時(shí),可能會(huì)出現(xiàn)無(wú)法找到Servlet包的問(wèn)題,導(dǎo)致報(bào)錯(cuò),解決方法有兩種:一是在Project Structures中添加servlet-api.jar包,但親測(cè)可能無(wú)效;二是在WEB-INF目錄下新建一個(gè)lib目錄,將tomcat的servlet-api.jar復(fù)制到新建的lib目錄下
    2024-10-10
  • 金三銀四復(fù)工高頻面試題java算法LeetCode396旋轉(zhuǎn)函數(shù)

    金三銀四復(fù)工高頻面試題java算法LeetCode396旋轉(zhuǎn)函數(shù)

    這篇文章主要為大家介紹了金三銀四復(fù)工高頻面試題之java算法題解LeetCode396旋轉(zhuǎn)函數(shù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • Java虛擬機(jī)處理異常的最佳方式

    Java虛擬機(jī)處理異常的最佳方式

    這篇文章主要給大家介紹了關(guān)于Java虛擬機(jī)處理異常的最佳方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 解決使用json-lib包實(shí)現(xiàn)xml轉(zhuǎn)json時(shí)空值被轉(zhuǎn)為空中括號(hào)的問(wèn)題

    解決使用json-lib包實(shí)現(xiàn)xml轉(zhuǎn)json時(shí)空值被轉(zhuǎn)為空中括號(hào)的問(wèn)題

    網(wǎng)上能查到的xml轉(zhuǎn)json的jar包大部分是net.sf.json-lib,但是JSON json =xmlSerializer.read(xml); 方法會(huì)出現(xiàn)將空值轉(zhuǎn)化為[]的問(wèn)題,下面為大家提供兩種解決方法
    2018-03-03
  • java基礎(chǔ)檢查和未檢查異常處理詳解

    java基礎(chǔ)檢查和未檢查異常處理詳解

    這篇文章介紹了java基礎(chǔ)中異常的處理,主要講解了java檢查和未檢查異常處理的示例詳解有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-10-10
  • java常用工具類 UUID、Map工具類

    java常用工具類 UUID、Map工具類

    這篇文章主要為大家詳細(xì)介紹了Java常用工具類,包括UUID工具類、Map工具類,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • elasticsearch索引index數(shù)據(jù)功能源碼示例

    elasticsearch索引index數(shù)據(jù)功能源碼示例

    這篇文章主要為大家介紹了elasticsearch索引index功能源碼示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04

最新評(píng)論

玉溪市| 衡南县| 正阳县| 安龙县| 安顺市| 肃宁县| 大化| 芮城县| 峡江县| 门头沟区| 宜宾县| 如皋市| 合水县| 宝山区| 南郑县| 平原县| 涞源县| 萍乡市| 刚察县| 香港 | 江永县| 景宁| 新源县| 台州市| 金塔县| 台东市| 宁远县| 定安县| 鹤壁市| 于田县| 年辖:市辖区| 娄烦县| 福安市| 沾化县| 永定县| 通渭县| 正蓝旗| 建水县| 海盐县| 福海县| 湘西|