首页 > 编程语言 >List,Set,Map三者的区别,Java 创建对象有几种方式

List,Set,Map三者的区别,Java 创建对象有几种方式

时间:2023-09-17 23:01:31浏览次数:36  
标签:Map Set Java 对象 Object 创建对象 User Key

一、List,Set,Map三者的区别

List(对付顺序的好帮手): List接口存储一组不唯一(可以有多个元素引用相同的对象),有序的对象

Set(注重独一无二的性质): 不允许重复的集合。不会有多个元素引用相同的对象。

Map(用Key来搜索的专家): 使用键值对存储。Map会维护与Key有关联的值。两个Key可以引用相同的对象,但Key不能重复,典型的Key是String类型,但也可以是任何对象。

二、Java 创建对象有几种方式

2.1 使用 new 关键字

这是我们平时使用的最多的创建对象的方式,示例:

User user=new User();

2.2 使用反射方式创建对象

使用 newInstance(),但是得处理两个异常 InstantiationException、IllegalAccessException:

User user=User.class.newInstance();
Object object=(Object)Class.forName("java.lang.Object").newInstance()

2.3 使用 clone 方法

前面题目中 clone 是 Object 的方法,所以所有对象都有这个方法。

2.4 使用反序列化创建对象

调用 ObjectInputStream 类的 readObject() 方法。

我们反序列化一个对象,JVM 会给我们创建一个单独的对象。JVM 创建对象并不会调用任何构造函数。一个对象实现了 Serializable 接口,就可以把对象写入到文件中,并通过读取文件来创建对象。

标签:Map,Set,Java,对象,Object,创建对象,User,Key
From: https://blog.51cto.com/u_16255459/7504158

相关文章

  • Java数据结构的学习规划
    前言最近在备考软考初级程序员(因为没有把握能够过中级所以暂时先报考初级)所以暂时停下了数据结构学习的进程。但是看到老师布置的新作业决定继续学习!!我想学习数据结构的原因,一部分是因为数据结构是程序设计的基础,学好数据结构和算法可以写出更好的算法。另外如果在以后我觉得自己......
  • 个人项目-java实现论文查重(更新中)
    本次作业GitHub项目链接:https://github.com/zzz-muxin/PlagiarismCheck作业详情这个作业属于哪个课程工程概论这个作业要求在哪里作业要求这个作业的目标学会利用GitHub进行项目开发,完成一个工程项目开发的详细过程需求题目:论文查重描述如下:设计一个论......
  • java后端学习路线
    java后端学习路线规划图下面图片规划参照了网上和以及自己知道的来规划的。(有可能学习路线不全)*学习视频:b站(我喜欢看尚硅谷的),网上还有很多看自己喜欢那个老师的方式,还有黑马,千锋等等。moon课。*学习资料:学习书本,网上资料,csdn,播客园等。*学习笔记:软件记Typora(代码,文章过......
  • 用户登录图形化界面(java)
    一、题目 二、源码(1)USER类(定义用户,包括username,password)1packagepicture;23publicclassUSER{4privateStringusername;5privateStringpassword;67publicUSER(Stringusername,Stringpassword){8this.username=user......
  • Xines广州星嵌全新FPGA开发板—OMAPL138/C6748 DSP+ARM+FPGA
    1  开发板简介    XQ138F-EVM是一款基于广州星嵌TIOMAP-L138(浮点DSPC6748+ARM9)+XilinxSpartan-6FPGA核心板SOM-XQ138F设计的开发板,它为用户提供了SOM-XQ138F核心板的测试平台,用于快速评估SOM-XQ138F核心板的整体性能。 XQ138F-EVM底板采用沉金无铅工艺的四层板设计......
  • Java的常用@SuppressWarnings注解
    总所周知,IDE经常会提示一些警告,通常使用@SuppressWarnings注解来忽略虽然这样做并不是很推荐,但对于一些不想改动的代码还是需要的,所以在这里做个我常用的记录值备注ResultOfMethodCallIgnored返回值忽略unused未使用的变量DuplicatedCode重复的代码uncheck......
  • Linux安装java环境
    下载JavaJDK1.8:访问Oracle官方网站或OpenJDK项目网站,下载适用于你的Linux系统的JavaJDK1.8版本的安装包(通常是.tar.gz格式)。解压安装包:打开终端,进入下载目录,使用以下命令解压安装包:tar-zxvfjdk-8uXXX-linux-x64.tar.gz请将“jdk-8uXXX-linux-x64.tar.gz”替换为你下载的安装......
  • java基础——随笔01
    数组实例:packageorg.example.common;publicclassZongJie{//数组作为函数参数publicstaticvoidprintArray(int[]array){System.out.println(array.length);System.out.println("--------------------111");System.ou......
  • [CEOI2017] Mousetrap
    [CEOI2017]Mousetrap策略其实比较好想但是把式子列出来有点难。不妨把陷阱房作为根,这样就只用把老鼠往上赶。设起始房为st,陷阱房为ed。考虑st是ed的子节点,老鼠不可能送死所以会往子节点走,而管理员的最优策略是老鼠边走边堵。直到老鼠动不了时,设在节点x,把x到......
  • Java反射
    声明:本文记录基于JDK8(8u211)的继承使用规则如果存在错误,请发邮件至[email protected]联系我创作时间:2023-09-1617:00:21创作情况:失业第46天,地处成都金牛区创作者:一口吃不成胖子反射准备工作,以供对照描述与代码,想看结论直接到文末尾父类packagecom.beans;/***抽象......