当前位置: 首页 > news >正文

安防公司网站模板做开锁推广什么网站好

安防公司网站模板,做开锁推广什么网站好,外贸平台网站有哪些,怎么查找公司的注册信息在Java中,集合(如List、Set、Map等)是编程中常用的数据结构。然而,在某些场景下,我们可能希望集合中的数据是只读的,即不允许修改集合中的元素。在Java8及之前,要实现这样的功能,我们…

在Java中,集合(如List、Set、Map等)是编程中常用的数据结构。然而,在某些场景下,我们可能希望集合中的数据是只读的,即不允许修改集合中的元素。在Java8及之前,要实现这样的功能,我们通常需要使用Collections.unmodifiableList()等方法来创建集合的不可修改视图。在Java9中引入了of()方法来创建只读集合,在Java10中引入了copyOf()方法,为我们提供了更简洁、更直观的方式来创建只读集合。

集合的of()方法

List、Set、Map接口都有of()方法根据元素来创建只读集合,这里以List接口的of()方法为例,介绍of()方法的使用。

List.of()方法的使用:

// JAVA9中新增创建只读的方法
var strings1 = List.of("Morris","JAVA","Golang");

集合的copyOf()方法

Java 10在List、Set和Map接口中引入了一个新的方法copyOf()。这个方法允许我们创建一个不可变的集合副本,以确保集合的内容不会被修改。

在List接口中,copyOf()方法返回一个包含指定列表中所有元素的不可变列表。这意味着无法通过该列表修改原始列表的内容。

在Set接口中,copyOf()方法返回一个包含指集合中所有元素不可变集合。同样地,这个集合不允许修改。

在Map接口中,copyOf()方法返回一个包含指定映射中所有键值对的不可变映射。这个不可变映射确保了映射的内容不会被修改。

使用copyOf()方法可以方便地创建不可变的集合,这对于保护数据的完整性和安全性非常有用。它还可以作为一种简化代码的方式,减少了手动创建不可变集合的工作量。

同样的List、Set、Map接口都有copyOf()方法根据一个集合来创建只读集合,这里以List接口的copyOf()方法为例,介绍copyOf()方法的使用。

在Java10中,List接口新增了一个copyOf方法,该方法接受一个列表作为参数,并返回一个包含该列表所有元素的新列表。重要的是,这个新列表是不可修改的,即你不能向其中添加、删除或修改元素。

以下是一个简单的示例,展示了如何使用copyOf方法创建只读集合:

package com.morris.java10;import java.util.ArrayList;
import java.util.List;/*** 集合中新增copyof创建只读集合*/
public class CollectionDemo {public static void main(String[] args) {// JAVA9中新增创建只读的方法var strings1 = List.of("Morris","JAVA","Golang");// 尝试修改只读列表(会抛出UnsupportedOperationException异常)// strings1.add("hello"); // 这行代码会抛出异常// JAVA10中新增的创建只读集合的方法var strings2 = List.copyOf(strings1); //判断两个集合在内存上是否是同一个,结果为trueSystem.out.println(strings1==strings2); // true//创建一个普通集合var strings3=new ArrayList<String>();// 通过copy0f方法创建一个只读集合var strings4 = List.copyOf(strings3);//判断两个集合在内存上是否是同一个,结果为falseSystem.out.println(strings3==strings4); // false}
}

List.copyOf()方法的源码

java.util.List#copyOf

static <E> List<E> copyOf(Collection<? extends E> coll) {return ImmutableCollections.listCopy(coll);
}

java.util.ImmutableCollections#listCopy

static <E> List<E> listCopy(Collection<? extends E> coll) {if (coll instanceof List12 || (coll instanceof ListN<?> c && !c.allowNulls)) {// 如果集合本身是一个不可变集合,就直接返回自己return (List<E>)coll;} else if (coll.isEmpty()) { // implicit nullcheck of coll// 如果集合是一个空集合,返回一个空的不可变集合return List.of();} else {// 使用现有集合创建一个新的不可变集合return (List<E>)List.of(coll.toArray());}
}
http://www.yayakq.cn/news/730812/

相关文章:

  • 全国美容网站建设wordpress如何免费导入音频
  • 内部网站建设教程微信app下载安装官方版2019
  • 什么叫企业网站用框架做网站如何居中
  • 白云网站 建设信科网络WordPress rss连接
  • 做文案的人看什么网站求一个旅游网站的代码
  • 网站规划与建设大作业自己制作上传图片的网站怎么做
  • 重庆承越网站建设地址w3c网站模板
  • 那些网站被k恢复是怎么做的外贸做那种网站有哪些
  • html5风格网站特色重庆网站推广产品企业
  • 河南郑州创建网站公司Wordpress 新建模块
  • 网页模板网站都有什么作用下单网站搭建
  • 外贸英语学习网站外包公司员工是否受劳动法保护
  • 做外贸是网站好还是展会好网站平台建设缴纳什么税
  • 设计公司网站导航结构的优化
  • 站长之家是干嘛的南宁在哪里可以做网站
  • 网站报价内容产品营销推广的方案
  • 关于建设校园网站申请报告网站示例
  • 山东省住房和城乡建设部网站首页网页制作与设计考试
  • 网站的建设及维护的费用千库网会员
  • 服装网站建设视频如何修改响应式网站模板
  • 网站建设招聘系统外贸网站建设产品
  • 网站运营要会什么技术wordpress nexus主题
  • 丽水城乡建设局网站网站目录提交
  • 信息流广告是什么谷歌seo的推广
  • 招商建设工程有限公司网站supercell账号注册网站
  • 做网站用jsp还是j2ee网推和地推的区别
  • 成功企业网站必备要素毕业设计做网站做不出
  • 工信部资质查询网站网站合作推广方案
  • 网站开发实例视频教程中国移动app免费下载安装
  • 网站推广平台怎么做好的设计教程网站