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

集合框架-工具类-Arrays-asList方法的更多相关文章

  1. 工具类Arrays.asList()方法把数组转换成集合

    工具类Arrays.asList()方法把数组转换成集合 不能使用其修改集合相关的方法,它的add/remove/clear方法会抛出UnsupportedOperationException() 问 ...

  2. 集合框架-工具类-Arrays方法介绍

    1 package cn.itcast.p3.toolclass.arrays.demo; 2 3 import java.util.Arrays; 4 5 public class ArraysDe ...

  3. 集合框架-工具类-Collections-其他方法将非同步集合转成同步集合的方法

    集合框架TXT  Collections-其他方法将非同步集合转成同步集合的方法

  4. Java基础知识强化之集合框架笔记33:Arrays工具类中asList()方法的使用

    1. Arrays工具类中asList()方法的使用 public static <T> List<T> asList(T... a): 把数组转成集合 注意事项: 虽然可以把 ...

  5. java基础37 集合框架工具类Collections和数组操作工具类Arrays

    一.集合框架工具类:Collections 1.1.Collections类的特点 该工具类中所有的方法都是静态的 1.2.Collections类的常用方法 binarySearch(List< ...

  6. JAVA基础学习之 Map集合、集合框架工具类Collections,Arrays、可变参数、List和Set集合框架什么时候使用等(4)

    package com.itcast.test20140113; import java.util.ArrayList; import java.util.Arrays; import java.ut ...

  7. Java基础---泛型、集合框架工具类:collections和Arrays

    第一讲     泛型(Generic) 一.概述 1.JDK1.5版本以后出现的新特性.用于解决安全问题,是一个类型安全机制. 2.JDK1.5的集合类希望在定义集合时,明确表明你要向集合中装入那种类 ...

  8. Java 集合框架工具类

    Collections Arrays Collections 集合框架的工具类, 里面的方法都是静态的, 可以直接使用类名调用 常用方法 1. sort(List<T> list); // ...

  9. java集合框架——工具类

    一.概述 JAVA集合框架中有两个很重要的工具类,一个是Collections,另一个是Arrays.分别封装了对集合的操作方法和对数组的操作方法,这些操作方法使得程序员的开发更加高效. public ...

  10. Java8集合框架——集合工具类Arrays内部方法浅析

    java.util.Arrays 备注:本文只对 Java8 中的 java.util.Arrays 中提供的基本功能进行大致介绍,并没有对其具体的实现原理进行深入的探讨和分析.详情可自己深入观摩源码 ...

随机推荐

  1. linux(centos)系统安装activemq

    activemq是消息中间件,可以用来 解耦.消峰.异步 需要先安装jdk环境:https://www.cnblogs.com/pxblog/p/10512886.html 1.下载文件 (也可以直接 ...

  2. Linux(centos)安装es(elasticsearch)

    前提条件--需要安装jdk环境,不同版本的es所对应的jdk版本要求不同,es6的使用jdk1.8可以 1.下载elasticsearch压缩包 下载地址:https://www.elastic.co ...

  3. win10使用cmake编译libevent(解决依赖openssl)

    概述 win10没有安装openssl cmake version: 3.18 libevent version: 2.1.10-stable libevent目前的版本中写好了 CMakeLists ...

  4. 【LeetCode】611. Valid Triangle Number 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址:https://leetcode.com/problems/valid-tri ...

  5. 【剑指Offer】二叉搜索树与双向链表 解题报告(Python)

    [剑指Offer]二叉搜索树与双向链表 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-interview ...

  6. OA系统中手写签批功能的实现

    一.需求背景 OA系统审批中,有对word或者pdf文件源文档在指定的位置可以插入相应的文字,其实就是一个审批的功能,到了指定的人那边,他可以进行签批.这个功能一般来说,是针对于领导方面,对于一个事情 ...

  7. Atcoder ABC137D:Summer Vacation(贪心)

    D - Summer Vacation Time Limit: 2 sec / Memory Limit: 1024 MB Score : 400 points Problem Statement T ...

  8. ARTS Week 19

    Algorithm 本周的 LeetCode 题目为 5. 最长回文子串 给你一个字符串 s,找到 s 中最长的回文子串.例如输入:s = "babad",输出:"bab ...

  9. Oracle中的基本数据类型

    一.Oracle 基本数据类型 1.字符数据类型 CHAR:存储固定长度的字符串,如果没有指定长度,默认为1个字节,如果数据长度没有达到指定的长度,则通过填充空格的方式来使其达到定义的长度(CHAR类 ...

  10. 《手把手教你》系列技巧篇(五十三)-java+ selenium自动化测试-上传文件-上篇(详细教程)

    1.简介 在实际工作中,我们进行web自动化的时候,文件上传是很常见的操作,例如上传用户头像,上传身份证信息等.所以宏哥打算按上传文件的分类对其进行一下讲解和分享. 2.为什么selenium没有提供 ...