1. 程式人生 > >Java陣列asList()使用方法總結

Java陣列asList()使用方法總結

Java中Arrays的asList()方法 可以將 陣列轉為List ,但是該方法很容易讓人犯錯或產生誤解。

請看下面例子:

public class demo4 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
        
        String s[]={"aa","bb","cc"};  
        List<String> sList=Arrays.asList(s);  
        for(String str:sList){//能遍歷出各個元素  
            System.out.println(str);  
        }  
        System.out.println(sList.size());//為3  
          
        System.out.println("- - - - - - - - - - -");  
          
        int i[]={11,22,33};  
        List intList=Arrays.asList(i);  //intList中就有一個Integer陣列型別的物件,整個陣列作為一個元素存進去的  
        for(Object o:intList){//就一個元素  
            System.out.println(o.toString());  
        }  
        System.out.println(intList.size());

          
        System.out.println("- - - - - - - - - - -");  
          
        Integer ob[]={11,22,33};  
        List<Integer> objList=Arrays.asList(ob);  //數組裡的每一個元素都是作為list中的一個元素  
        for(int a:objList){  
            System.out.println(a);  
        }  
          
        System.out.println("- - - - - - - - - - -");        
        
        
        int[] intArray = {1,2,3};
        List<int[]> myList = Arrays.asList(intArray);
        System.out.println(myList.size());
        System.out.println(myList.get(0).length);
        
        System.out.println("- - - - - - - - - - -"); 
	}
執行結果:
aa
bb
cc
3
- - - - - - - - - - -
[[email protected]
1
- - - - - - - - - - -
11
22
33
- - - - - - - - - - -
1
3
- - - - - - - - - - -

如果將陣列作為引數進行傳遞,基本型別陣列將被視為一個物件而不會被解析成陣列,因此傳遞基本型別陣列時強烈建議轉為其封裝類物件的陣列  int ->Integer ,long->Long …………。即陣列型別必須是 引用型別的。

原因:在Arrays.asList方法中T是引數型別,因此它必須為一個Object 型別,不可以是基本型別。

1.如果你要將一個數組轉換為list時僅僅是要將其轉換為一個string,那麼最好使用Arrays.toString代替上面的方法,即使對於基本型別的陣列該方法也不會出現任何問題。
2.如果你打算將一個基本型別的陣列轉換為所對應的封裝型別的list,使用Apache Commons Lang,類似下面這樣使用ArrayUtils.toObject:

List<Integer> list = Arrays.asList(ArrayUtils.toObject(newint[] {1,2}));

請注意:一般情況下推薦使用原始資料型別陣列而不是裝箱後的原始資料型別列表。
3.如果你打算將一個引用型別的陣列轉換為list,可以直接使用Arrays.asList:
List<String> list = Arrays.asList(

newString[] {"a","b"});

相關推薦

Java陣列asList()使用方法總結

Java中Arrays的asList()方法 可以將 陣列轉為List ,但是該方法很容易讓人犯錯或產生誤解。 請看下面例子: public class demo4 { public static void main(String[] args) { // TOD

java陣列常用方法總結

Java和C陣列的一些異同: 相同點:陣列名都是首元素的地址 不同點:C語言宣告變數可以直接定義陣列長度,java不可以                 java只有在為陣列分配變數時,可以宣告陣列長度                 java:int  [] a;    

java基本運算方法總結(ing)

方法 運算 sys 隨機數 mat ... 方法總結 clas math 邊學邊總結... 1、冪的運算 Math.pow(a,b) 2、隨機數的方法 System.currentTimeMillis()    Math.randow() 3、絕對值的運算

javascript資料結構----關於陣列方法總結

1.檢測陣列 對於一個網頁,或者一個全域性作用域而言,使用 instanceof 操作符就能到到滿意的結果: if (value instanceof Array){ //如果是陣列就執行某些操作 } instanceof 操作符的問題在於,他假定只有一個全域性執行環境。如果網頁中包含多

JS 陣列克隆方法總結

ES5 方法總結 1.slice let arr = [2,4,434,43] let arr1= arr.slice() arr[0] = 'a' console.log(arr,arr1) // [ 2, 4, 434, 43 ] console.log(arr1 === arr) // fal

一些常用 js 對於 陣列 字串 方法總結

一 、陣列concat連線 var arrayA = [1,2,3] var arrayB = [4,5,6] var arrayC = [7,8,9] console.log(arrayA.concat(arrayB)) //(6) [1,2,3,4,5,6] console.log(

js 陣列方法總結

都是基礎 必須掌握! 網上找找資料認認真真敲一邊,算是有了個大概的認識! 改變原陣列的方法(9個): pop()  a.shift()  push()  unshift()  reverse()  splice()  &n

JAVA——陣列方法的互操作

1,方法接收陣列 2,方法返回陣列 3,方法修改陣列 (一)方法接收陣列 public class ArrayAndMethod{ public static void main(String[] args){ int[] arr = new int[]{1,2,3,4,5,6}; /

JAVA---陣列方法的應用

public class ArrayDemo{ //普通方法,列印字元陣列 public static char[] printArray(char[] data){ for(int i=0;i<data.length;i++){ System.out.println

js中陣列方法總結

js中陣列的方法很多,經常都翻書看,無奈老是記不住,一到用的時候就忘了,大概還是因為用的少,也可能是因為方法確實太多,據不完全統計有23種。。。所以在這裡總結一下,當是記個筆記。 1、join() join(separator): 將陣列的元素組起一個字串,以separator為分隔符,省略

3. JAVA陣列方法

1陣列的定義          陣列是一組相關資料的集合,一個數組實際上就是一連串的變數,陣列按照使用可以分為一維陣列、二維陣列、多維陣列。 陣列的優點:         不使用陣列定義100個整型變數:int i1;int i2;…int i100        

陣列處理方法總結(操作方法

var colors = ["red", "green", "blue"]; var removed = colors.splice(0,1);          // 刪除第一項 alert(colors); // green,blue alert(removed); // red,返回的陣列中只包含一

Java陣列拷貝方法arraycopy()

java.lang.System類的arraycopy()方法提供了陣列元素複製功能——將一個數組的連續多個元素的值批量複製到另一個數組中去。 例如://源陣列          int source[] = {1,2,3,4,5};          //目的陣列    

java呼叫python方法總結

一、在java類中直接執行python語句 import org.python.util.PythonInterpreter; public class FirstJavaScript {

es6 filter() 陣列過濾方法總結

Array.every(x=>x)是每一個都要滿足 Array.some(x=>x)是有一個滿足。 Array.find(findIndex),返回符合條件的第一個值。 Array.filter(過濾成新的陣列) 陣列的方法分為兩類 1)改變原陣列 p

Java陣列操作方法

下面是stackoverflow中關於陣列方法的相關問題中,獲得最多票數的12個數組操作方法。 1.  宣告一個數組 Java程式碼  String[] aArray = new String[5];   String[] bArray = {"a","b","c",

JAVA 陣列常用方法

//靜態初始化 int array[] = { 1, 2, 3, 4 }; //動態初始化 int array[] = new int[3]; //陣列長度 int length = array.length; //獲取二維中第一維的長度 int length2 = arr

JavaScript 之 陣列常用方法總結

陣列中的常用方法總結:能改變原陣列的方法有:push,  pop,  shift,  unshift,  sort,  reverse,   splice不能改變原陣列的方法有:concat,  join,  split,  toString,  slice改變原陣列方法:1

用Gson解析純json陣列方法總結

用Gson解析json字串極為方便快捷,不過解析json物件(JsonObject)比較容易,解析json陣列(JsonArray)相對麻煩點,在這裡總結下個人開發工程中用到的三種解析json陣列的方法,先看工具類: /** * 使用Gson進行json的轉換工具類

js刪除陣列元素方法 總結

方法一:delete arr[x] 用delete刪除後,陣列的長度length不會發生變化,此時arr[x]變為undefined。 好處:delete arr[x]後陣列的索引保持不變。 var arr = [1,true,{},"a"]; del