Java List與數(shù)組互轉(zhuǎn)方式
Java List與數(shù)組互轉(zhuǎn)
數(shù)組轉(zhuǎn) List 方法1
Employee[] array = new Employee[]{emp1, emp2, emp3}; List<Employee> list = Arrays.asList(array);
Arrays.asList 返回的是固定長度的數(shù)組,擴(kuò)大或縮小列表的操作將返回UnsupportedOperationException。
數(shù)組轉(zhuǎn) List 方法2
Employee[] array = new Employee[]{emp1, emp2, emp3}; List<Employee> list = new ArrayList<>(Arrays.asList(array));
解決了方法1中固定長度的問題。
數(shù)組轉(zhuǎn) List 方法3
Integer[] num = new Integer[]{1,2,3,4,5,6,7,8,9}; List<Integer> list = new ArrayList<>(); Collections.addAll(list, num);
數(shù)組轉(zhuǎn) List 方法4
Employee[] array = new Employee[]{emp1, emp2, emp3}; List<Employee> list = Stream.of(array).collect(Collectors.toList());
List 轉(zhuǎn)數(shù)組方法1
Object[] ans1 = list.toArray();
List 轉(zhuǎn)數(shù)組方法2
Integer[] ans2 = list.toArray(new Integer[list.size()]);
ArrayList 的 toArray 方法源碼:
Java中數(shù)組與List的區(qū)別
① 數(shù)組聲明的時(shí)候要指定數(shù)組的大小,用基本類型。
② List接口是一個(gè)有序的 Collection,沒有固定大小的限制。
其聲明時(shí)用基本類型需要用其引用類型(List<E> list = new ArrayList<>();
這里的E指的是引用類型),注意聲明時(shí)不要List<E> list = null;
,后面給list加元素會報(bào)錯(cuò)(add方法報(bào)空指針)。
① 數(shù)組向某下標(biāo)插入元素是修改當(dāng)前下標(biāo)的元素。
② List向某下標(biāo)插入元素是插入到指定下標(biāo),此下標(biāo)原來的元素和后面的元素均后移。
List刪除元素,刪除當(dāng)前下標(biāo)的元素,后面的前移。
List的方法:
Arrays類的方法:
java.util.Arrays 類能方便地操作數(shù)組,它提供的所有方法都是靜態(tài)的。
常用的方法有:toString轉(zhuǎn)字符串、sort從小到大排序、equals和deepEquals、asList轉(zhuǎn)List和List的toArray轉(zhuǎn)數(shù)組、fill數(shù)組填充和copyOf數(shù)組拷貝。
① 自定義排序方式:
Integer[] n = {1,2,5,4,1}; Arrays.sort(n, ((o1, o2) -> o2-o1)); //數(shù)組降序排列
使用這種方式,數(shù)組類型需要為引用類型不能為基本類型
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java線程池:獲取運(yùn)行線程數(shù)并控制線程啟動(dòng)速度的方法
下面小編就為大家?guī)硪黄猨ava線程池:獲取運(yùn)行線程數(shù)并控制線程啟動(dòng)速度的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05一篇文章教你將JAVA的RabbitMQz與SpringBoot整合
這篇文章主要介紹了如何將JAVA的RabbitMQz與SpringBoot整合,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2021-09-09Java中實(shí)現(xiàn)多線程關(guān)鍵詞整理(總結(jié))
這篇文章主要介紹了Java中實(shí)現(xiàn)多線程關(guān)鍵詞整理,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-05-05Java多線程程序中synchronized修飾方法的使用實(shí)例
synchronized關(guān)鍵字主要北用來進(jìn)行線程同步,這里我們主要來演示Java多線程程序中synchronized修飾方法的使用實(shí)例,需要的朋友可以參考下:2016-06-06java 定義長度為0的數(shù)組/空數(shù)組案例
這篇文章主要介紹了java 定義長度為0的數(shù)組/空數(shù)組案例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03SpringBoot中創(chuàng)建bean的7種方式總結(jié)
Spring是一款廣泛應(yīng)用于企業(yè)級應(yīng)用程序開發(fā)的Java框架,其 IOC 和 DI 特性可以有效地管理應(yīng)用程序中的對象,提高了應(yīng)用程序的可維護(hù)性和可擴(kuò)展性,那你知道spring有哪些方式將bean放入容器嘛,今天就給大家總結(jié)一下2023-07-07