1 package Test.others;
2
3 import java.util.Arrays;
4 import java.util.Collections;
5 import java.util.List;
6
7 public class ArraysDemo {
8 public static void main(String[] args) {
9 /*
10 static <T> List<T> asList(T... a)
11 返回由指定数组支持的固定大小的列表。
12 1.参数列表是一个可变参数列表 数量任意 类型一致即可
13 2.T泛型仅仅支持对象类型 基本数据类型进入 自动成了包装类
14 3.固定大小的列表
15 */
16 /*1.放基本数据类型*/
17 int[] a_int_arr = {9, 8, 7, 6, 5, 7, 3};
18 List<int[]> a_int_List = Arrays.asList(a_int_arr);//放入了一个参数 .var 自动补全
19 //这样放的话 是一个放一个int数组对象
20 System.out.println(a_int_List);//直接打打印数组对象 数组对象没有重写toString
21 for (int[] ints : a_int_List) {
22 System.out.println(Arrays.toString(ints));
23 }
24 System.out.println("-----------------------");
25 /*2.放引用类型*/
26 Integer[] a_Integer_arr = new Integer[]{12, 13, 15, 2, 6, 5, 7};//自动装箱
27 List<Integer> a_Integer_List = Arrays.asList(a_Integer_arr);//放入了一个引用数据类型的数组
28 List<Integer> a_Integer_List_toLong = Arrays.asList(12, 13, 15, 2, 6, 5, 7);//自动装箱成包装类 加入8个数
29 System.out.println(a_Integer_List);
30 System.out.println(a_Integer_List_toLong);
31 System.out.println("-----------------------");
32 /*3.对转化后的list 使用修改方法*/
33 /*
34 * 修改后 两个引用都是指向了同一对象 所以都更新了
35 *
36 */
37 a_Integer_List.set(0, 123);
38 System.out.println("IntegerList:"+a_Integer_List);//元素重写了toString() 获得不了地址值了-.-...
39 System.out.println(a_Integer_arr);//同样 Integer数组对象 也没有重写 toString()
40 System.out.println("Integer数组:"+Arrays.toString(a_Integer_arr));
41 //Integer数组: 值和 IntegerList值同时变是对的
42 // 可变参数的本质就是一个数组 用对象数组 传给 另外的一个对象数组 传的是地址值 改一处 持有同样地址的变量 展示数据一致
43 System.out.println(a_Integer_arr.hashCode());// 数组对象
44 System.out.println(a_Integer_List.hashCode());// list 对象 不相同是对的
45 System.out.println("-----------------------");
46 /*4.使用Add remove*/
47 /*
48 * 不支持的操作异常
49 *
50 * */
51 // a_Integer_List.add(1);
52 // Integer one= 7;
53 // System.out.println(a_Integer_List.remove(one));
54 /*5.看看基本数据类型能不能用List的方法改值*/
55 /*
56 *用set是能改值的 只不过和你想的不一样 改的话是整体改
57 *int[]直接转List 放入的是一个整体 仅且一个 数组对象
58 *a_int_List 和 a_int_arr 指向的不是同一个对象所以
59 *
60 */
61 // a_int_List.set(0,123);//要的一个int数组对象 提供的是 int
62
63 for (int[] ints : a_int_List) {
64 System.out.print("修改前:");
65 System.out.println(Arrays.toString(ints));
66 }
67 a_int_List.set(0, new int[]{1, 2, 3});
68 for (int[] ints : a_int_List) {
69 System.out.print("修改后:");
70 System.out.println(Arrays.toString(ints));
71 }
72 }
73 }

Arrays.asList() 示例的更多相关文章

  1. 【Java基础】一个有意思的泛型方法Arrays.asList(T... a)

    总结 利用Arrays.asList方法返回的List是不允许add和remove的,这种list的长度不可变,因为底层依然是写数组. Arrays.asList的返回值是调用是传入T类型的List, ...

  2. java Arrays.asList方法注意事项

    1. 简介 Arrays.asList()方法可以将数组转化为长度固定的列表. 该方法强调了列表的长度是固定的,因此不能使用list的add和remove方法修改list长度. 2. 示例 impor ...

  3. Java中关于Arrays.asList()的操作

    我们可以通过Arrays.asList() 产生一个List,但是要记住,我们通过Arrays.asList产生的list是基于一个固定大小的数组的, 仅支持那些不会改变数组大小的操作.所以我们在使用 ...

  4. Arrays.asList()用法梳理

    Arrays.asList()用法梳理 asList概述 Arrays是java容器相关操作的工具类,asList方法将Array转换为list,是Array和List之间的桥梁. asList本质 ...

  5. Arrays.asList的使用

    Arrays.asList的作用是将数组转化为list,一般是用于在初始化的时候,设置几个值进去,简化代码,省去add的部分. 示例: List<String> menuList = Ar ...

  6. 【转】java.util.Arrays.asList 的用法

    DK 1.4对java.util.Arrays.asList的定义,函数参数是Object[].所以,在1.4中asList()并不支持基本类型的数组作参数. JDK 1.5中,java.util.A ...

  7. Arrays.asList()注意

    api: public static <T> List<T> asList(T... a) 返回一个受指定数组支持的固定大小的列表.(对返回列表的更改会“直接写”到数组.)此方 ...

  8. Arrays.toString Arrays.asList

    import java.util.Arrays; public class TestCalc{ public static void main(String[] args) { ,,,,,,,}; / ...

  9. Arrays.asList()使用注意点

    今天看代码时, 发现书上使用了Arrays.asList()方法, 将一个数组转成了List, 然后说到得到的List不能调用add(), remove()方法添加元素或者删除,带着疑问看了下内部实现 ...

  10. Arrays.asList(数组) 解说

    最近在用Arrays的asList()生成的List时,List元素的个数时而不正确. Java代码 一:Arrays.asList(数组)该方法是将数组转化为集合(该方法主要用于Object对象数组 ...

随机推荐

  1. drf认证与权限

    1 认证 # 登录认证--->某个接口必须登录后才能房屋# 登录接口--->登录成功返回随机字符串--->携带随机字符串[认证] 通过,再继续访问某个接口# 读APIView源码时, ...

  2. Hex格式和Mot格式简介

    Hex格式和Mot格式简介 一.Hex格式介绍    1.1 什么是 Intel HEX 文件格式?  Intel HEX文件 是由一行行符合 Intel HEX文件格式的文本所构成的ASCII文本文 ...

  3. How to Change Reset Retrieve the WebLogic Server Administrator Password on WLS 10.3.6 or earlier

    To change the Administrator password on WLS 10.3.6 or earlier, perform the following steps depending ...

  4. C语言中~与!的区别

    ! 是逻辑非or否定 ​ 凡是a的值不为0的,!a 就等于0: ​ 如果a的值为0,则 !a 的值为1 而~这个是 按位取反 比如 int a=2 ; 用二进制表示为00 00 00 10; 则 !a ...

  5. I - Cloud Retainer's Game

    I - Cloud Retainer's Game 传送门: I. Cloud Retainer's Game (codeforces.com) 题意: 在坐标轴上有2个边界:y=0和y=H.有n个质 ...

  6. ideal中热部署JRebal的设置

    1.ideal中安装插件: 2.打开网址:https://www.guidgen.com/   打开链接获取新的GUID码 3.网址和UUID码拼接:http://127.0.0.1:8888/ca3 ...

  7. laravel groupBy 分页

    $model=DB::table('tablebname') ->where(function($query) use ($res){ $query->where('xx','xx'); ...

  8. 文件上传 upload-labs Pass-17 二次渲染

    Pass-17 审计源码 $is_upload = false; $msg = null; if (isset($_POST['submit'])){ // 获得上传文件的基本信息,文件名,类型,大小 ...

  9. SpringBoot——静态资源及原理

    一.使用 SpringBoot 的步骤 [1]创建 SpringBoot应用,选中自己需要的模块.[2]SpringBoot 已经默认将这些场景配置好,只需要在配置文件中指定少量配置就可以运行起来.[ ...

  10. C/C++ 恨透了 double free or corruption

    *以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「ENG八戒」https://mp.weixin.qq.com/s/IwSVImp5cOB3gZbaf0YiPw 写过 C/C++ 的都 ...