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. Linux(CentOS)安装脚本

    此文以CentOS为例,乌班图的是有区别的,请参照https://www.cnblogs.com/takako_mu/p/11725733.html. 安装.Net Core (能访问外网的情况下采用 ...

  2. 图的基本操作 (c语言)

    图的基本操作:创建 删除 遍历 创建:邻接矩阵和邻接表 十字链表 下面代码是邻接矩阵的定义和邻接表的创建 遍历:深度优先遍历(一条路走到黑) 广度优先遍历(树的层次遍历) 具体代码: #include ...

  3. FastDFS安装(ARM同样支持)

    一.服务器部署规划 服务器IP 部署服务 192.168.*. tracker.storage.nginx 二.数据存储目录 应用 目录 fastdfs /usr/bin nginx /usr/loc ...

  4. NO_PUBKEY 76F1A20FF987672F

    在ubuntu18.04上安装win时,执行sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ bionic ...

  5. Laravel安装第一步:Windows 10 上laravel下载与安装需要注意。

    1.下载了laravel,查看composer.json文件,搞清楚它需要的PHP版本 2.不要用 composer install !!! 用  composer -vvv install   这样 ...

  6. .net core 版本避坑 无法打开项目文件。 无法找到 .NET SDK。请检查确保已安装此项且 global.json 中指定的版本(如有)与所安装的版本相匹配。

    打开项目根目录,输入 dotnet --version  ,查看本机安装的最高版本的sdk: 如果源文件中存在global.json文件,直接打开修改即可: 不存在则接着在1步骤后输入: dotnet ...

  7. pycharm配置gitlab

    一.安装Git 下载地址: https://git-scm.com/downloads 安装说明: https://git-scm.com/downloads 二.pycharm配置gitlab: 1 ...

  8. Linux基础——操作系统

    1. 操作系统(Operation System,OS) 操作系统作为接口的示意图 如果想在裸机上运行自己所编写的程序,就必须用机器语言书写程序如果计算机上安装了操作系统,就可以在操作系统上安装支持的 ...

  9. Python中列表、元组、字典的区别

    列表: 列表是一种数据结构,每一个元素对应一个值.例如:list=['a','b','c'] 访问列表数据通过下标的方式来进行数据访问,list[下标] list.append(i)  添加数据 de ...

  10. 制作可以显示GIF动图的activeX 控件

    因为工作需要,我需要一个可以显示gif 动图的控件,用来在VBS中显示动图,结果找了半天发现根本没有这样的控件,所以只能搜集资料自己来制作一个. 下面记录一下步骤: 1. 下载 PictureEx.h ...