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

Java中數(shù)組與集合的相互轉(zhuǎn)換實現(xiàn)解析

 更新時間:2019年08月24日 16:48:22   作者:上帝愛吃蘋果-Soochow  
這篇文章主要介紹了Java中數(shù)組與集合的相互轉(zhuǎn)換實現(xiàn)解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

這篇文章主要介紹了Java中數(shù)組與集合的相互轉(zhuǎn)換實現(xiàn)解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

  • List轉(zhuǎn)數(shù)組:采用集合的toArray()方法
  • 數(shù)組轉(zhuǎn)List:采用Arrays的asList()方法

數(shù)組轉(zhuǎn)換為集合

注意:在數(shù)組轉(zhuǎn)集合的過程中,要注意是否使用了視圖的方式直接返回數(shù)組中的數(shù)據(jù)。以Arrays.asList()為例,它把數(shù)組轉(zhuǎn)換成集合時,不能使用其修改集合相關(guān)的方法,它的add/remove/clear方法會拋出 UnsupportedOperationException異常。

這是因為Arrays.asList體現(xiàn)的是適配器模式,后臺的數(shù)據(jù)仍是原有數(shù)組。asList的返回對象是一個Arrays的內(nèi)部類,它并沒有實現(xiàn)集合個數(shù)的相關(guān)修改操作,這也是拋出異常的原因。

集合轉(zhuǎn)數(shù)組

集合轉(zhuǎn)數(shù)組相對簡單,一般在適配別人接口的時候常常用到

代碼例子

public class Main {
  public static void main(String[] args) {

    //1.數(shù)組轉(zhuǎn)換為集合
    String[] strs = new String[3];
    strs[0] = "a";
    strs[1] = "b";
    strs[2] = "c";
    List<String> stringList = Arrays.asList(strs);
    System.out.println(stringList);
    //1.1注意:直接使用add、remove、clear方法會報錯
//    stringList.add("abc");
    //1.2如果想要正常的使用add等修改方法,需要重新new一個ArrayList
    List<String> trueStringList = new ArrayList<>(Arrays.asList(strs));
    trueStringList.add("abc");
    System.out.println(trueStringList);

    //2.集合轉(zhuǎn)數(shù)組
    List<Integer> integerList = new ArrayList<>();
    integerList.add(1);
    integerList.add(2);
    integerList.add(3);

    //新生成的數(shù)組大小一定要大于原List的大小
    Integer[] integers = new Integer[3];
    integerList.toArray(integers);
    System.out.println(Arrays.asList(integers));
  }
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • redis做服務(wù)間通信工具的項目示例

    redis做服務(wù)間通信工具的項目示例

    Redis是一種高效的服務(wù)間通信工具,它以鍵值對的形式存儲數(shù)據(jù),并支持多種數(shù)據(jù)類型和豐富的操作,本文主要介紹了redis做服務(wù)間通信工具的項目示例,感興趣的可以了解一下
    2023-08-08
  • Mybatis-Plus自動填充更新操作相關(guān)字段的實現(xiàn)

    Mybatis-Plus自動填充更新操作相關(guān)字段的實現(xiàn)

    數(shù)據(jù)庫表中應(yīng)該都要有create_time、update_time字段;那么在開發(fā)中,對于這些共有字段的處理應(yīng)該要進行統(tǒng)一,這樣就可以簡化我們的開發(fā)過程。那么本文就對Mybatis-Plus中的字段自動填充進行記錄
    2021-11-11
  • 簡述Java圖像傾斜方法及實例

    簡述Java圖像傾斜方法及實例

    這篇文章主要介紹了Java圖像傾斜的方法及實例,需要的朋友可以參考下
    2017-09-09
  • Java 深入淺出分析Synchronized原理與Callable接口

    Java 深入淺出分析Synchronized原理與Callable接口

    Synchronized關(guān)鍵字解決的是多個線程之間訪問資源的同步性,synchronized關(guān)鍵字可以保證被它修飾的方法或者代碼塊在任意時刻只能有一個線程執(zhí)行,Runnable是執(zhí)行工作的獨立任務(wù),但是不返回任何值。如果我們希望任務(wù)完成之后有返回值,可以實現(xiàn)Callable接口
    2022-03-03
  • maven引入第三方j(luò)ar包配置詳解

    maven引入第三方j(luò)ar包配置詳解

    這篇文章主要為大家介紹了maven引入第三方j(luò)ar包配置詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • Java Socket編程實現(xiàn)簡單的問候服務(wù)

    Java Socket編程實現(xiàn)簡單的問候服務(wù)

    這篇文章主要為大家介紹了Java Socket編程實現(xiàn)簡單的問候服務(wù),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-01-01
  • java實現(xiàn)將ftp和http的文件直接傳送到hdfs

    java實現(xiàn)將ftp和http的文件直接傳送到hdfs

    前面幾篇文章,我們已經(jīng)做了很好的鋪墊了,幾個要用到的工具我們都做了出來,本文就是將他們集合起來,說下具體的用法,小伙伴們可以參考下。
    2015-03-03
  • 【java 多線程】守護線程與非守護線程的詳解

    【java 多線程】守護線程與非守護線程的詳解

    這篇文章主要介紹了java守護線程與非守護線程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • 詳解Java的設(shè)計模式編程中的原型模式

    詳解Java的設(shè)計模式編程中的原型模式

    這篇文章主要介紹了Java的設(shè)計模式編程中的原型模式,處理對象復制時要特別注意淺拷貝和深拷貝的問題,需要的朋友可以參考下
    2016-02-02
  • java使用xstream實現(xiàn)xml文件和對象之間的相互轉(zhuǎn)換

    java使用xstream實現(xiàn)xml文件和對象之間的相互轉(zhuǎn)換

    xml是一個用途比較廣泛的文件類型,在java里也自帶解析xml的包,但是本文使用的是xstream來實現(xiàn)xml和對象之間的相互轉(zhuǎn)換,xstream是一個第三方開源框架,使用起來比較方便,對java?xml和對象轉(zhuǎn)換相關(guān)知識感興趣的朋友一起看看吧
    2023-09-09

最新評論