Arrays.asList() 和 ArrayList类型区别

Java 中 Array 和 ArrayList 的比较和转换 在 Java 中,ArrayList 是集合框架的一部分,是可调整数据结构的实现。这一位意味着 arraylist 内部维护了一个需要动态增长或者收缩的数组。总之,Java 开发的最佳实践通常推荐使用 ArrayLists 和其他内置的集合类,因为它们更灵活,并且相比中等大小的集合性能相似。然而,arrays 也有实用的场景,特别是在意性能和内存效率的情况。 阅读详情

<pre name="code" class="html"><pre name="code" class="html">Arrays.asList()
将一个数组转化为一个List对象,这个方法会返回一个ArrayList类型的对象, 这个ArrayList类并非java.util.ArrayList类,而是Arrays类的静态内部类!用这个对象对列表进行添加删除更新操作,就会报UnsupportedOperationException异常。


<pre name="code" class="html">自己测试:<span>	</span>//arrayList
<span>		</span>List list = new ArrayList();
<span>		</span>list.add("yz_b_insert");
<span>		</span>list.add("yz_b_del");
<span>		</span>list.add("yz_b_update");
<span>		</span>list.add("yz_b_see");
<span>		</span>System.out.println(list.contains("yz_b_update")+"=="+list);
<span>		</span>//arrays.asList()
<span>		</span>String dd = "yz_b_insert,yz_b_del,yz_b_update,yz_b_see";
<span>		</span>List list2 = Arrays.asList(dd);
<span>		</span>System.out.println(list2.contains("yz_b_update")+"@@@@@"+list2);
输出结果:


<pre name="code" class="html">arraylist:true==[yz_b_insert, yz_b_del, yz_b_update, yz_b_see]
<pre name="code" class="html">arrays.asList():false@@@@@[yz_b_insert,yz_b_del,yz_b_update,yz_b_see]

要是用<pre name="code" class="html">contains 来判断集合中存在某个字符串,注意 <pre name="code" class="html">arraylist转化的不可用
本人测试不可以,有高人可以指点一下
下面是网上找的资源
<span style="color: rgb(102, 102, 102); font-family: Tahoma;">为什么Arrays.asList产生的List是不可添加或者删除,否则会产生UnsupportedOperationException,就可以得到解释了。 </span><br style="color: rgb(102, 102, 102); font-family: Tahoma;" /><br style="color: rgb(102, 102, 102); font-family: Tahoma;" /><span style="color: rgb(102, 102, 102); font-family: Tahoma;">如果我们想把一个变长或者数据转变成List, 而且期望这个List能够进行add或者remove操作,那该怎么做呢? </span><br style="color: rgb(102, 102, 102); font-family: Tahoma;" /><br style="color: rgb(102, 102, 102); font-family: Tahoma;" /><span style="color: rgb(102, 102, 102); font-family: Tahoma;">我们可以写一个类似的方法,里面直接采用java.util.ArrayList即可。 </span><br style="color: rgb(102, 102, 102); font-family: Tahoma;" /><br style="color: rgb(102, 102, 102); font-family: Tahoma;" /><span style="color: rgb(102, 102, 102); font-family: Tahoma;">比如: </span><br style="color: rgb(102, 102, 102); font-family: Tahoma;" /><pre class="java" name="code" style="color: rgb(102, 102, 102); background-color: rgb(255, 255, 255);">import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class MyArrays {
	public static <T> List<T> asList(T... a) {
		List<T> list = new ArrayList<T>();
		Collections.addAll(list, a);
		return list;
	}
}


测试代码如下: 
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Test {
	@SuppressWarnings("unchecked")
	public static void main(String[] args) {
		List<String> stooges = Arrays.asList("Larry", "Moe", "Curly");
		print(stooges);
		List<List<String>> seasonsList = Arrays.asList(retrieveSeasonsList());
		print(seasonsList);
		/*
		 * 自己实现一个asList方法,能够添加和删除。
		 */
		List<String> list = MyArrays.asList("Larry", "Moe", "Curly");
		list.add("Hello");
		print(list);
	}
	private static <T> void print(List<T> list) {
		System.out.println(list);
	}
	private static List<String> retrieveSeasonsList() {
		List<String> seasonsList = new ArrayList<String>();
		seasonsList.add("Spring");
		seasonsList.add("Summer");
		seasonsList.add("Autumn");
		seasonsList.add("Winter");
		return seasonsList;
	}
}


输出结果: 

[Larry, Moe, Curly] 
[[Spring, Summer, Autumn, Winter]] 
[Larry, Moe, Curly, Hello] 












浅谈Arrays.asList() 和ArrayList类型区别 下面小编就为大家带来一篇Arrays.asList() 和ArrayList类型区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 立即下载

相关推荐

State of GPT (ChatGPT 原理及现状介绍)

要用 RLHF 的一个简单的原因就是 RLHF 模型效果更好,下面的图来源于 InstructGPT 论文,PPO (RLHF 算法) 后的模型生成的答案更被人类喜欢。karpathy 认为 RLHF 有用的原因是判别比生成更容易,让标注员去写一些 SFT 的 QA 数据对是比较难的,如果有一个 SFT 模型生成一些数据让标注员判断哪个更好就简单很多。,GPT4 最强,前三个都是 RLHF 模型,其他模型都是 SFT 模型。伯克利做的模型评测榜单。

kebijuelun的博客 3577

Arrays.asList()和new ArrayList()区别

返回的 List 都继承了。

张紫娃的博客 656

Cursor Agent模式下如何优雅切换conda环境运行Python脚本?3种实用方法实测

本文针对Cursor Agent模式下运行Python脚本时环境错配的痛点,实测了三种优雅切换conda环境的实用方法。通过Shell全局配置、项目级.cursorrc文件定制以及对话中直接指令,开发者可以确保AI助手在正确的虚拟环境中执行代码,从而提升开发效率和协作流畅度。

redis7keeper的博客 597

Arrays.asList() 和 new ArrayList() 的区别(详解)

主要不同的地方就是在于是否能够对转换后的数组进行元素的添加和删除等常规操作。

BBX__XB的博客 1946

cmu15445 2023fall project4 详细过程(包括Bonus Tasks) Concurrency Control

CMU15-445 23fall project 4详解

LA的博客 1603

光耦CTR参数实战:如何避免误触发与功耗陷阱(附计算公式)

本文深入解析光耦CTR参数在电路设计中的关键作用,探讨如何平衡误触发风险与功耗表现。通过TLP521、PC817等常见型号的实测数据对比,提供不同工作状态下的选型策略和计算公式,帮助工程师优化设计,提升系统稳定性和能效。

2a4s6d8f0g的博客 323

Arrays中的方法asList()返回来的list与new ArrayList()区别

今天在研究Arrays的时候,发现Arrays 的asList(T...a)方法体中返回值为new arrayList 而在java.util包下的ArrayList的构造方法,只有3种, 1、在创建ArrayList对象的时候,手动指定初始化内存大小 public ArrayList(int initialCapacity) {         if (initialCapacity >

yanxinstudy的博客 2492

从零搭建医疗化验单识别系统:深度学习+OCR实战教程(附数据集)

本文详细介绍了如何从零开始构建一个医疗化验单智能识别系统。通过融合深度学习和OCR技术,系统能够应对版式多样、内容专业的医疗单据,实现从文本检测、识别到关键信息结构化抽取的全流程。文章提供了数据集处理、模型选型、训练微调及工程化部署的实战指南,并分享了避坑经验与性能优化策略,为开发者解决医疗信息化痛点提供了完整的技术方案。

k9l0m1的博客 492

Java Arrays.asList 和 new ArrayList(Arrays.asList()) 的对比

英文标题【Arrays.asList vs new ArrayList(Arrays.asList())】 概述 在本文章中,我们会对Arrays.asList(array)和ArrayList(Arrays.asList(array))之间的区别进行一些对比。 Arrays.asList 首先我们对Arrays.asList方法进行一些查看和说明。你可以单击上面的链接查看官方的 API。 通过 API 的文档我们可以了解到,使用这个方法将会为数组创建一个固定长度(fixed-size...

HONEY MOOSE 1360

dy创作者平台上传并发布视频

整体上来说不是很难,就是过程有点复杂。因为这个是别人给的单子,所以这里不放源码了。细致一点就可以搞定。如果要Signature算法,可私信,不免费。

记录一些web逆向的过程 1515

室内温度控制仿真(Simulink+PLC)

本篇博客将会带领大家解读Simulink自带的仿真模型(Thermal Model of a House),之后再讨论PLC控制系统控制环境温度的一些经验方法

RXXW_Dor的博客 3460

php object 和 arraylist,浅谈Arrays.asList() 和ArrayList类型区别

Arrays.asList()将一个数组转化为一个List对象,这个方法会返回一个ArrayList类型的对象, 这个ArrayList类并非java.util.ArrayList类,而是Arrays类的静态内部类!用这个对象对列表进行添加删除更新操作,就会报UnsupportedOperationException异常。自己测试: //arrayList List list =...

weixin_34820751的博客 349

手把手教你玩转服务器芯片架构​专栏--​​3.5 实战案例:用SystemC搭建一个多核服务器芯片的NoC模型(含流量分配与延迟仿真)​

通过SystemC搭建多核NoC模型,可深入验证流量分配策略与延迟特性。实际工程中需结合FPGA原型验证(如Xilinx Alveo)进行时序收敛分析,并通过参数化设计适配不同服务器芯片需求。

MHD0815的博客 3043

java集合的分类与区别_java相关:浅谈Arrays.asList() 和ArrayList类型区别

java相关:浅谈Arrays.asList() 和ArrayList类型区别发布于 2020-3-22|复制链接下面小妖就为大家带来一篇Arrays.asList() 和ArrayList类型区别。小妖觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小妖过来看看吧Arrays.asList()将一个数组转化为一个List对象,这个方法会返回一个ArrayList类型的对象, 这个Arr...

weixin_34999698的博客 453

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

千万不要这样使用Arrays.asList !

作者:flyhero | 微信公众号:码上实战(ID:Push-Code) 使用Arrays.asList()的原因无非是想将数组或一些元素转为集合,而你得到的集合并不一定是你想要的那个集合。 而一开始asList的设计时用于打印数组而设计的,但jdk1.5开始,有了另一个比较更方便的打印函数Arrays.toString(),于是打印不再使用asList(),而asList()恰巧可用于将数...

徐刘根的博客 1万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

java 数组转化集合_Java数组转集合之Arrays.asList()用法

Arrays.asList()用法使用Arrays.asList()的原因无非是想将数组或一些元素转为集合,而你得到的集合并不一定是你想要的那个集合。而一开始asList的设计时用于打印数组而设计的,但jdk1.5开始,有了另一个比较更方便的打印函数Arrays.toString(),于是打印不再使用asList(),而asList()恰巧可用于将数组转为集合。public class App {...

weixin_35502466的博客 426

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

千万不要这样使用Arrays.asList ! 数组转换成集合到底改怎么弄?

原文链接:https://blog.csdn.net/xlgen157387/article/details/91376347 使用Arrays.asList()的原因无非是想将数组或一些元素转为集合,而你得到的集合并不一定是你想要的那个集合。 而一开始asList的设计时用于打印数组而设计的,但jdk1.5开始,有了另一个比较更方便的打印函数Arrays.toString(),于是打印不再使用asList(),而asList()恰巧可用于将数组转为集合。 一、错误用法 如果你这样使用过,那你可..

向上的"狼"的博客 438

java aslist_asList和ArrayList不得不说的故事

导读热词asList和ArrayList不得不说的故事简介提到集合类,ArrayList应该是用到的非常多的类了。这里的ArrayList是java.util.ArrayList,通常我们怎么创建ArrayList呢?创建ArrayList看下下面的例子:List names = new ArrayList<>();上面的方法创建了一个ArrayList,如果我们需要向其中添加元素的话...

weixin_42305377的博客 259

深入理解Arrays.asList

文章目录1 错误用法2 深入探究3 不同之处4 揭晓答案5 支持基础类型的方式6 数组转ArrayList 使用Arrays.asList()的原因无非是想将数组或一些元素转为集合,而你得到的集合并不一定是你想要的那个集合。 而一开始asList的设计时用于打印数组而设计的,但jdk1.5开始,有了另一个比较更方便的打印函数Arrays.toString(),于是打印不再使用asList...

Apple_Boy的博客 830

关于 ArrayList.toArray() 和 Arrays.asList().toArray()方法

1.ArrayList.toArray() 理解    * 通过源码我们可以看到返回的是Object类型的数组,失去了原有的实际类型,虽然底层存储是具体类型的对象,这也正体现了文档中说的:该方法起到了bridge的作用(This method acts as bridge between array-based and collection-based APIs)。 #ArrayList.t...

weixin_33737774的博客 320

java之Arrays.asList

使用Arrays.asList()的原因无非是想将数组或一些元素转为集合,而你得到的集合并不一定是你想要的那个集合。 而一开始asList的设计时用于打印数组而设计的,但jdk1.5开始,有了另一个比较更方便的打印函数Arrays.toString(),于是打印不再使用asList(),而asList()恰巧可用于将数组转为集合。 一、错误用法 如果你这样使用过,那你可要注意了。 1、错误...

zangjunlang4288的博客 234

Arrays.asList()的坑,踩过再也不会踩系列

Arrays.asList()的大坑

Eliauk4的博客 1120

被Arrays.asList坑了后,我决定分析它的源码

平时我们使用Arrays.asList()快速组装成List集合。比如我们将字符串或者数组转换成集合: String[]arrayStr={"1","2","3"}; List<String>list=Arrays.asList(arrayStr); System.out.println(list); 结果list的数据为 我们点击asList进去看看源码怎么写的 @SafeVarargs @SuppressWarnings("varargs") public...

wujialv的博客 384

千万不要这样使用 Arrays.asList !

使用Arrays.asList()的原因无非是想将数组或一些元素转为集合,而你得到的集合并不一定是你想要的那个集合。 而一开始asList()的设计时用于打印数组而设计的,但jdk1.5开始,有了另一个比较更方便的打印函数Arrays.toString(),于是打印不再使用asList(),而asList()恰巧可用于将数组转为集合。 错误用法 如果你这样使用过,那你要注意下了。 错误一 将基本类型数组作为asList的参数 int[] arr = {1,2,3}; List list = Ar

大鹏 479

Java ArrayList

List 在集合类中,List 是最基础的一种集合:它是一种有序列表。 List 的行为和数组几乎完全相同:List 内部按照放入元素的先后顺序存放,每个元素都可以通过索引确定自己的位置,List的索引和数组一样,从0开始。 数组和 List 类似,也是有序结构,如果我们使用数组,在添加和删除元素的时候,会非常不方便。 因此,在实际应用中,需要增删元素的有序列表,我们使用最多的是ArrayList。实际上,ArrayList 在内部使用了数组来存储所有元素。 当添加一个元素并指定索引到 ArrayList

yake1965 1176
上一篇: ztree 修改数据 默认勾选节点 数据回显
下一篇: jquery popupDialog 使用 加载jsp页面
OnePiece_Sky
博客等级 码龄15年 9粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值