1 package p2; 2 3 import java.util.Arrays; 4 import java.util.List; 5 6 public class ArraysDemo { 7 8 public static void main(String[] args) { 9 /* 10 * Arrays:集合框架的工具类。里面的 方法都是静态的 。 11 */ 12 demo3(); 13 14 } 15 16 public static void demo3() { 17 /* 18 *如果数组中的元素是对象,那么转成集合时,直接将数组中的元素作为集合中的元素进行集合存储。 19 * 20 *如果数组中的元素是基本类型数值,那么会将该数组作为集合中的元素进行存储。 21 *基本数据类型: byte short int long,float double,boolean,char 22 */ 23 24 int[] arr = {31,11,51,61}; 25 List<int[]> list = Arrays.asList(arr); 26 System.out.println(list); //结果:[[I@659e0bfd] 27 } 28 29 public static void demo2() { 30 /* 31 * 重点 List aslist(数组) 将数组转成集合 32 * 33 * 好处:其实可以使用集合的方法操作数组中的元素。 34 * 注意:数组的长度是固定的,所以对于集合的增删方法是不可以使用的;,否则会发生UnsupportedOperationException。 35 */ 36 String[] arr = {"abc","haha","xixi"}; 37 38 //判断数组是否含有 xixi; 39 boolean b = myContains(arr,"xixi"); 40 System.out.println("contains:"+b); 41 //转化为列表,再判断就方便好多了 42 List<String> list = Arrays.asList(arr); 43 boolean b1 = list.contains("xixi"); 44 System.out.println("contains:"+b1); 45 46 // list.add("sfsf");//UnsupportedOperationException 47 48 System.out.println(list); 49 } 50 51 public static boolean myContains(String[] arr, String key) { 52 for (int i=0; i<arr.length; i++){ 53 if (arr[i].equals(key)) 54 return true; 55 } 56 57 return false; 58 } 59 /* 60 * 结果: 61 * contains:true 62 contains:true 63 [abc, haha, xixi] 64 */ 65 66 public static void demo1() { 67 int[] arr = {3,1,5,6,3,6}; 68 System.out.println(arr); 69 System.out.println(Arrays.toString(arr)); 70 } 71 /* 结果: 72 * [I@659e0bfd 73 [3, 1, 5, 6, 3, 6] 74 */ 75 76 77 // toString 的 经典实现 78 public static String myToString(int[] a) 79 { 80 int iMax = a.length-1; 81 if (iMax == -1) 82 return "[]"; 83 84 StringBuilder b = new StringBuilder(); 85 b.append("["); 86 for (int i=0; ; i++) 87 { 88 b.append(a[i]); 89 if (i == iMax) 90 return b.append("]").toString(); 91 b.append(","); 92 } 93 } 94 95 }