java基础(44):数组转列表 -- Arrays.asList()的使用

JAVA——Arrays类的使用 Java数组工具类Arrays提供了多种便捷操作方法:1)sort()实现快速排序;2)toString()格式化输出数组;3)binarySearch()支持二分查找;4)copyOf()和copyOfRange()用于数组复制;5)arraycopy()实现数组片段拷贝;6)equals()比较数组内容;7)fill()批量填充数组元素。这些方法简化了数组操作,避免重复编码,提高了开发效率。通过合理使用Arrays类,可以更高效地处理数组排序、查找、复制和比较等常见操作。 阅读详情

看项目源码,发现不懂的地方:

    /**
     * Returns a fixed-size list backed by the specified array.  (Changes to
     * the returned list "write through" to the array.)  This method acts
     * as bridge between array-based and collection-based APIs, in
     * combination with {@link Collection#toArray}.  The returned list is
     * serializable and implements {@link RandomAccess}.
     *
     * <p>This method also provides a convenient way to create a fixed-size
     * list initialized to contain several elements:
     * <pre>
     *     List<String> stooges = Arrays.asList("Larry", "Moe", "Curly");
     * </pre>
     *
     * @param a the array by which the list will be backed
     * @return a list view of the specified array
     */
    @SafeVarargs
    public static <T> List<T> asList(T... a) {
        return new ArrayList<>(a);
    }


后面问了度娘才知道:这是数组转列表的方法。基础啊~~

解释:

1、这是一个静态方法:传入一个数组,返回一个列表;

2、<T>表示泛型,即传入的可以是装着基本类型的元素,也可以是装包装类型或者其他类型对象的元素;


实例:

package test5;

import java.util.Arrays;

public class test4 {
	public static void main(String[] args){
		String[] a = {"aaaaaa","bbbbbb"};
		int[] b = {1,1,1,1};
		byte[] c = {1,2,3,4,5};
		float[] d = {1.1f,2.1f,3.2f,4.5f};
		A[] e = {new A(1),new A(2),new A(3)};
		String f1 = "aaaaaa";
		String f2 = "bbbbbb";
		String[] f = {f1,f2};
		
		System.out.println("a: "+Arrays.asList(a));
		System.out.println("b: "+Arrays.asList(b));
		System.out.println("c: "+Arrays.asList(c));
		System.out.println("d: "+Arrays.asList(d));
		System.out.println("e: "+Arrays.asList(e));
		System.out.println("f: "+Arrays.asList(f));
	}
	
}
class A{
	private int a;
	public A(int a) {
		super();
		this.a = a;
	}
	
}

输出:

a: [aaaaaa, bbbbbb]
b: [[I@30de3c87]
c: [[B@4e57dc21]
d: [[F@6a3522b5]
e: [test5.A@4679cf8c, test5.A@67291479, test5.A@39ff48d8]
f: [aaaaaa, bbbbbb]


解释:

【1】通过结果可以看到:基本数据类型打印的都是地址值,而String类型的数组输出的是数组中的元素,这是为啥嘞?通过引用Arrays.asList(T...a)方法,可以知道括号中需要一个含数据类型的实参(T一般就是泛型的意思),而基本数据类型是没有类型的(有点绕,非要用的话可以借助他们的包装类);可是为什么不满足类型还能使用嘞?因为数组也是一个类型(下面的方法是没问题的);也就是说基本数据类型转集合遍历是需要借助其他方法滴,大家可以google或者度娘。

【2】所以,该方法不适用于基本数据类型(byte,short,int,long,float,double,boolean),

该方法将数组与列表链接起来,当更新其中之一时,另一个自动更新;

不支持add和remove方法


【Python实战解析】从数据爬取到房价预测:一个完整的数据科学项目流程拆解 本文详细拆解了一个完整的Python数据科学项目流程,从爬取长沙二手房数据到房价预测模型构建。通过实战案例,介绍了数据爬取、清洗、可视化及模型优化的关键技巧,帮助开发者掌握Python在数据分析中的应用,提升程序开发能力。 阅读详情

相关推荐

Dify社区版多工作空间功能解锁:源码修改与多租户架构解析

多租户架构是现代SaaS平台实现数据隔离与资源管理的核心技术,其核心原理是通过租户模型将用户、应用和数据在逻辑上隔离。在AI应用开发平台中,这种架构能有效支持多团队、多项目并行开发,确保不同业务线的数据安全与独立迭代。Dify作为开源AI应用构建平台,其底层已设计完善的多租户模型,但社区版默认限制了单用户单工作空间。本文通过精准修改两处关键代码——账户初始化逻辑与系统功能开关,释放了平台固有的多工作空间管理能力。该方案无需改动数据库结构,直接利用现有RBAC权限体系,实现了类似企业版的**多租户隔离**体验

weixin_27059669的博客 1058

数组与列表的互相转换

数组与列表的互相转换一、数组转列表1.该list不可增加或删除元素2.该list可以增加或删除元素二、列表转数组 一、数组转列表 1.该list不可增加或删除元素 list可以修改元素的值,但是不能增加或删除元素,此种方式得到的list与nums动态关联,即一方的值发生变动,另一方的值也跟着发生变动。 Integer[] nums = {1,2,3,4}; List list = Arrays.asList(nums); or List list = Arrays.asList(1,2,3,4); 2.

Fantexi5937的博客 6085

TI DSP的 FFT与IFFT库函数的使用测试

/** * Copyright (C) 2013 Guangzhou Tronlong Electronic Technology Co., Ltd. - www.tronlong.com * * @file dsplib_fft.c * * @brief Example application main file. * This application will run FFT performance test. * * @author Tronlong <support@tron.

ToneChip的专栏,一个传统的嵌入式码农,裸机编程 2676

集合 —— 数组转列表的四种方式

由于 JDK 官方的短视,在早期,也就是 JDK1.0 时候的版本没能拥有泛型,直到 JDK 1.5 之后才引入了泛型,这个时候,JDK官方考虑到代码的兼容性问题,如果实现真的泛型的话,原先的 JDK1.0 的代码可能就无法运行了,为了保持代码的兼容性,在使用泛型的时候,在底层。这个第三方库的工具非常完善,有很多方法,不过主要有两种类型的的集合,一种为不可变集合,可以使用。其实,原因是这样的,此外,这个方法不适合基本数据类型的数组,必须要先将其转为其包装类的数组才行。int、double 和 long。

莪是男神的博客 1万+

langchain4j+milvus实战

本文主要研究一下如何使用langchain4j来对接向量数据库milvus。

go4it 1472

ESP32天线阵列实现Wi-Fi空间成像与无直视定位

Wi-Fi信道状态信息(CSI)是OFDM系统中表征多径传播特性的基础物理层参数,其复数值包含幅度与相位,可反映无线环境的空间特征。基于CSI的射频感知技术,通过提取子载波级信道响应,结合阵列信号处理,实现到达角(AoA)估计与深度映射,本质是将通信链路重构为空间域传感器。该技术无需专用雷达硬件,具备低成本、被动式、隐私友好等工程优势,在室内定位、行为识别、仓储导航等场景具有广泛落地价值。本文聚焦ESP32平台,详解多芯片相位同步、CSI零拷贝采集、嵌入式MUSIC算法及信道图谱轻量化部署等关键实现。

weixin_30632267的博客 236

小白入门之 数组转列表的4种方法

现有一个Integer类型的数组,如: Integer[] arr = {1, 2, 3, 5, 6, 2}; 1.使用Stream流转list List<Integer> integerList = Stream.of(arr).collect(Collectors.toList()); 2.使用google 的 guava 包的封装方法 List<Intege...

weixin_42327945的博客 1868

编写一个期货跨期套利的程序,谈谈思路及案例

🏆本文收录于《优快云问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

**My Coding Family** 1718

Java中数组转List的四种方式

Java 数组转List的四种方式小结

Macrohua的博客 7万+

〖Python WEB 自动化测试实战篇⑤〗- selenium 元素定位详解 - (八大元素定位方式)

测试对象的定位和操作是我们利用 selenium 编写自动化脚本和 webdriver 的核心内容,其中 "操作" 这一部分又是建立在 "selenium" 元素定位的基础之上的。所以对元素对象的定位就显得越发的重要,接下来我们就学习一下常用的元素定位方法有哪些。......

易编橙 · 终身成长社群,相遇已是上上签! 4万+

【异常】OpenClaw网关仪表盘 pairing required 报错排查与解决方案

在OpenClaw网关仪表盘页面,完成WebSocket URL、网关令牌等必填项配置后,点击「连接」按钮尝试建立网关连接时,页面下方出现红色报错提示框,核心报错内容为,无法完成网关连接建立,且该报错在令牌配置正确、网络链路通畅的场景下仍会触发。该报错常见于非本地回环地址的访问场景,包括局域网远程访问、公网域名/IP访问、云服务器部署的网关远程管理等场景,本地127.0.0.1回环地址访问通常可正常连接。

奶爸的编程之路,也就一周冷个三天 1078

java中数组转为列表的几种方法,推荐第三种

  java中数组转为集合List,是很基础常见的,日常开发中也经常会用到,今天整理了下,有5种方法,先列出,再慢慢道来。 1、 List list = Arrays.asList(array); 2、new ArrayList(Arrays.asList(array)); 3、Collections.addAll(arraylist, array); 4、for(Element e :...

river106的博客 6141

大唐杯历届省赛押题训练(6)

考试-TD-LTE无线网络设备介绍-TD-LTE网络架构一、单选题1TD-LTE的接入网E-UTRAN由下列哪些网元组成( )。0分/1分A、RNCB、BTSC、eNode BD、Node B提交答案:B正确答案:C考点TD-LTE网络架构解析暂无试题解析二、多选题1关于LTE网络整体结构,哪些说法是正确的( )0分/2分A、E-UTRAN用E-NodeB替代原有的RNC-NodeB结构B、E-NodeB间的接口为S1接口C、各网络节点之间的接口使用IP传输。

nimo观察者 633

使用Arrays.asList()方法时的注意事项

最近休五一假期,不是很想写长篇大论,因此最近三篇文章都是信手拈来的小总结。等假期结束开工之后自然会恢复正常。 java.util.Arrays.asList()方法是我们在日常工作中极其常用的方法之一,它可以方便地将数组类型转化为列表类型。例如: String[] teamsArray = { "Liverpool", "Man Utd", "Man City", "Arsenal...

LittleMagic's Blog 490

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

集合框架 Collection - List(Arrays.asList)- 迭代器

集合框架 Collection - List(Arrays.asList)- 迭代器

pig_ning的博客 955

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Java 数组转 List 的 4 种方式

目录前言【一】最常见方式(未必最佳)【二】数组转为List后,支持增删改查的方式【三】通过集合工具类Collections.addAll()方法(最高效)问题解答总结 前言 本文介绍Java中数组转为List三种情况的优劣对比,以及应用场景的对比,以及程序员常犯的类型转换错误原因解析。 【一】最常见方式(未必最佳) 通过 Arrays.asList(strArray) 方式,将数组转换List后,不能对List增删,只能查改,否则抛异常。 关键代码: List list = Arrays.asList(

日拱一卒 1万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Java Arrays类(Java数组常用的三个方法)

一、Arrays类介绍 二、Arrays类中的`静态`方法 1.toString方法 2.sort方法 3.binarySearch方法 4.其它方法

二师兄想吃肉的博客 1万+

Java 数组转 List 的三种方式及对比

由于文案过于长,在此就不一一介绍了,这份Java后端架构进阶笔记内容包括:Java集合,JVM、Java并发、微服务、SpringNetty与 RPC 、网络、日志 、Zookeeper 、Kafka 、RabbitMQ 、Hbase 、MongoDB、Cassandra 、Java基础、负载均衡、数据库、一致性算法、Java算法、数据结构、分布式缓存等等知识详解。本知识体系适合于所有Java程序员学习,关于以上目录中的知识点都有详细的讲解及介绍,掌握该知识点的所有内容对你会有一个质的提升,

2401_85377266的博客 1752

short转int_Java 数组转 List 的 3 种方式,哪种性能最牛?

前言:本文介绍Java中数组转为List三种情况的优劣对比,以及应用场景的对比,以及程序员常犯的类型转换错误原因解析。一.最常见方式(未必最佳)通过 Arrays.asList(strArray) 方式,将数组转换List后,不能对List增删,只能查改,否则抛异常。关键代码:List list = Arrays.asList(strArray);private void testArrayCas...

weixin_39624429的博客 6446

Java——Arrays 类详解

Arrays 类是 Java 语言中用于操作数组的一个工具类,提供了多种静态方法来处理数组,包括排序、搜索、填充、比较等操作。这个类位于 java.util 包中。Arrays类的构造方法被设置为私有(private),因此无法创建 Arrays 对象。Arrays 类的所有公有方法都是静态的,可以直接通过类名调用。

Stewie Lee的博客 2653

Java数组及Arrays类的使用

Java数组及Arrays类的使用Java数组的创建数组的创建数组的遍历二维数组二维数组的创建二维数组的遍历Arrays类的使用Arrays类的定义常用方法 Java数组的创建 数组的创建 数据类型[] 名 = new 数据类型[数组长度]. 如: int[] arr = new int[5]; arr[0] = 2; arr[1] = 3; //... arr[4] = 6; ...

guo12345555的博客 458

list大数据转换对象_使用 Arrays.asList 把数据转换为 List 的两个个坑

01. 第一个坑:不能使用 Arrays.asList 来转换基本类型数组我们一般使用Arrays.asList方法把数组一键转换为List,但是有时候并非那么简单。我们先看例子:public class Demo { public static void main( String[] args ) { int[] arr = {1,2,3}; List ...

weixin_30789297的博客 436

JDK 之 Arrays.asList - 源码分析

Arrays工具类提供了一个方法asList, 使用该方法可以将一个变长参数或者数组转换成List 。 其源代码如下: @SafeVarargs public static <T> List<T> asList(T... a) { return new ArrayList<>(a); }    问题发现 根据上述方法的描述,...

weixin_30887919的博客 106

【有料】java中排序函数sort()使用,Arrays.sort()和Collections.sort()

Java中常用的数组或集合排序的方法有两个,一个是java.util.Arrays中的静态方法Arrays.sort(),还有一个是java.util.Collections中的静态方法的Collections.sort()方法,下面分别介绍两种用法。一.java.util.Arrays中的静态方法Arrays中的sort()方法主要是针对各种数据类型(基本数据类型和引用对象类型)的数组元素排序。.......

daobuxinzi的博客 871

Java_基础—Arrays工具类的asList()方法的使用

* A:案例演示 * Arrays工具类的asList()方法的使用 * Collection中toArray(T[] a)泛型版的集合转数组

SoarFly0807的博客 336
上一篇: java基础(43):《转载》九种基本数据类型,以及他们的封装类
下一篇: 开发日常小结(14):项目小功能:实现倒计时功能(js实现),基于java数据传递
后台技术汇
博客等级 码龄11年 670粉丝 531原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

后台技术汇

对你的帮助,是对我的最好鼓励。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值