1. 程式人生 > 其它 >集合框架-工具類-Arrays-asList方法

集合框架-工具類-Arrays-asList方法

 1 package cn.itcast.p3.toolclass.arrays.demo;
 2 
 3 import java.util.ArrayList;
 4 import java.util.Arrays;
 5 import java.util.List;
 6 
 7 public class ArraysDemo {
 8 //陣列轉成集合
 9     public static void main(String[] args) {
10         // TODO Auto-generated method stub
11         /*
12          * Arrays:集合框架的工具類。裡面的方法都是靜態的。
13 * 14 * 15 * 16 */ 17 18 // int[] arr = {3,1,5,6,3,6}; 19 // 20 // System.out.println(arr);//[I@2f92e0f4 21 // System.out.println(Arrays.toString(arr)); 22 23 24 // demo_1(); 25 26 demo_2();//陣列轉成集合Arrays.asList
27 } 28 29 private static void demo_2() { 30 // TODO Auto-generated method stub 31 /* 32 * 如果陣列中的元素是物件比如String,那麼轉成集合時,直接將陣列中的元素作為集合中的元素進行集合儲存。 33 * 34 * 如果陣列中的元素是基本型別數值比如int,那麼會將該陣列作為集合中的元素進行儲存。 35 */ 36 int[] arr = {31,11,51,61}; 37
38 List<int[]> list = Arrays.asList(arr); 39 40 System.out.println(list);//[[I@2f92e0f4] 41 } 42 43 /** 44 * 45 */ 46 public static void demo_1() { 47 /* 48 * 重點:List asList(陣列)將陣列轉成集合。 49 * 50 * 好處:其實可以使用集合的方法運算元組中的元素 51 * 注意:陣列的長度是固定的,所以對於集合的增刪方法是不可以使用的否則會發生java.lang.UnsupportedOperationException 52 */ 53 String[] arr = {"abc","haha","xixi"}; 54 55 boolean b = myContains(arr, "xixi"); 56 System.out.println("contains:"+b); 57 58 List<String> list = Arrays.asList(arr); 59 boolean b1 = list.contains("xixi"); 60 System.out.println("list contains:="+b1); 61 list.add("hiahaia");//java.lang.UnsupportedOperationException不支援操作異常 62 System.out.println(list); 63 } 64 65 public static boolean myContains(String[] arr,String key) { 66 for (int i = 0; i < arr.length; i++) { 67 if (arr[i].equals(key)) { 68 return true; 69 } 70 71 } 72 return false; 73 } 74 75 //toString的經典實現。Arrays.toString原始碼 76 public static String myToString(int[] a) { 77 int iMax = a.length - 1; 78 if (iMax == -1) 79 return "[]"; 80 81 StringBuilder b = new StringBuilder(); 82 b.append('['); 83 for (int i = 0; ; i++) {//中間省略條件判斷,提高效率 預設為true 84 b.append(a[i]); 85 if (i == iMax)//只在結尾呼叫一次 86 return b.append(']').toString(); 87 b.append(", "); 88 } 89 } 90 91 }
ArraysDemo