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

最新文章

  1. Python debug
  2. Javascript学习笔记:闭包题解(1)
  3. 奇怪的Hibernate——当?遇上%
  4. directly receive json data from javascript in mvc
  5. iframe框架里镶嵌页面;&lt;marquee&gt;:滚动效果;&lt;mark&gt;做标记;内联、内嵌、外联;选择器
  6. 基于Linux的oracle数据库管理 part5( linux启动关闭 自动启动关闭 oracle )
  7. tlplayer for ios V1.1.1加密测试版本
  8. 纯js客服插件集qq、旺旺、skype、百度hi、msn
  9. 解决AspNet Zero Core 5.0.1无法运行的问题
  10. Eclipse增强代码提示插件Code Recommenders安装,顺便说说Eclipse插件安装方法
  11. JQuery Layer的应用实例
  12. C# 为所有 CheckBox 添加事件
  13. echo和重定向
  14. WebMvcConfigurer
  15. sharpsvn 继续,解决文件locked 问题,
  16. 从零开始学Kotlin-操作符(3)
  17. 自定义nsoperation的用法
  18. AOP与JAVA动态代理
  19. openstack的glance、nova、cinder使用ceph做后端存储
  20. bacnet ip转MQTT

热门文章

  1. MIUI12.5扫码之后无法连接MIUI+,显示连接失败
  2. 【LeetCode】1120. Maximum Average Subtree 解题报告 (C++)
  3. 【LeetCode】 204. Count Primes 解题报告(Python & C++)
  4. 【LeetCode】70. Climbing Stairs 解题报告(Java & Python)
  5. 【LeetCode】1046. Last Stone Weight 解题报告(Python & C++)
  6. 【九度OJ】题目1207:质因数的个数 解题报告
  7. 【LeetCode】636. Exclusive Time of Functions 解题报告(Python)
  8. Pytorch 图片载入
  9. JVM垃圾收集器专题
  10. 编写Java程序,模拟五子棋博弈过程中的异常声明和异常抛出