Arrays.asList() 示例
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() 示例的更多相关文章
- 【Java基础】一个有意思的泛型方法Arrays.asList(T... a)
总结 利用Arrays.asList方法返回的List是不允许add和remove的,这种list的长度不可变,因为底层依然是写数组. Arrays.asList的返回值是调用是传入T类型的List, ...
- java Arrays.asList方法注意事项
1. 简介 Arrays.asList()方法可以将数组转化为长度固定的列表. 该方法强调了列表的长度是固定的,因此不能使用list的add和remove方法修改list长度. 2. 示例 impor ...
- Java中关于Arrays.asList()的操作
我们可以通过Arrays.asList() 产生一个List,但是要记住,我们通过Arrays.asList产生的list是基于一个固定大小的数组的, 仅支持那些不会改变数组大小的操作.所以我们在使用 ...
- Arrays.asList()用法梳理
Arrays.asList()用法梳理 asList概述 Arrays是java容器相关操作的工具类,asList方法将Array转换为list,是Array和List之间的桥梁. asList本质 ...
- Arrays.asList的使用
Arrays.asList的作用是将数组转化为list,一般是用于在初始化的时候,设置几个值进去,简化代码,省去add的部分. 示例: List<String> menuList = Ar ...
- 【转】java.util.Arrays.asList 的用法
DK 1.4对java.util.Arrays.asList的定义,函数参数是Object[].所以,在1.4中asList()并不支持基本类型的数组作参数. JDK 1.5中,java.util.A ...
- Arrays.asList()注意
api: public static <T> List<T> asList(T... a) 返回一个受指定数组支持的固定大小的列表.(对返回列表的更改会“直接写”到数组.)此方 ...
- Arrays.toString Arrays.asList
import java.util.Arrays; public class TestCalc{ public static void main(String[] args) { ,,,,,,,}; / ...
- Arrays.asList()使用注意点
今天看代码时, 发现书上使用了Arrays.asList()方法, 将一个数组转成了List, 然后说到得到的List不能调用add(), remove()方法添加元素或者删除,带着疑问看了下内部实现 ...
- Arrays.asList(数组) 解说
最近在用Arrays的asList()生成的List时,List元素的个数时而不正确. Java代码 一:Arrays.asList(数组)该方法是将数组转化为集合(该方法主要用于Object对象数组 ...
随机推荐
- LNMP架构的演变
LNMP 演变 工作原理 linux + nginx + mariadb + php 工作原理: 首先,浏览器发送http request请求到服务器(Nginx),服务器响应并处理web请求, 将一 ...
- (四).JavaScript的循环结构
2.2 循环嵌套 ①.语法 // 嵌套循环:循环内部包裹其他的循环 // 外侧循环执行一次,内部循环执行一轮 // 实例 for (var i = 0; i < 5; i++) { for (v ...
- CMake指定的任务可执行文件"cmd.exe" 未能运行。System.IO.IOException:未能创建临时文件。临时文件夹已满或其路径不正确。对路径"......exec.cmd "的访问被拒绝
我觉得是我使用VS2022的原因,网上也没有找到相同的问题.
- 实验二 K-近邻算法及应用
博客班级 https://edu.cnblogs.com/campus/ahgc/machinelearning 作业要求 https://edu.cnblogs.com/campus/ahgc/ma ...
- SQLyog 13.1.1.0注册码证书秘钥
注册信息: Name:(用户名随意) License Key: Professional: 8e053a86-cdd3-48ed-b5fe-94c51b3d343c Enterprise: a4668 ...
- samba缓存问题
samba 在第一次登录时,会在windows上缓存着登录密码,当你重新修改samba服务端的密码, 再次登录时,windows会自动用缓存的旧密码登录,导致的登录失败.
- docker 容器版本问题
LoggerFactory is not a Logback LoggerContext but Logback is on the classpath springboot docker 容器中运行 ...
- ClassLoader 双亲委派
一个程序有一个默认的appClassLoader.类不是由被调用者也不是被自身加载的,正常情况下是被默认的AppClassLoader加载的. System.out.println(test3.cla ...
- 织梦(DedeCMS)安全方案
一.织梦(DedeCMS)介绍 织梦(DedeCMS)作为国内龙头CMS系统之一,因其系统结构科学合理,操作使用简单,拥有海量用户.和其他CMS一样,安全漏洞也是其无法避免的问题.虽然官方不断发布补丁 ...
- JMeter压测脚本实例:单接口
新建测试计划 添加线程组 添加HTTP请求 配置该请求相关参数 1.请求头部信息 ①HTTP请求同级线程组下添加HTTP信息头部管理器 ②填充该请求所需的头部信息 2.请求体 选中之前增加的HTTP请 ...