Map集合的特点:
1、Map集合一次存储两个对象,一个键对象,一个值对象
2、键对象在集合中是唯一的,可以通过键来查找值
HashMap特点:
1、使用哈希算法对键去重复,效率高,但无序
2、HashMap是Map接口的主要实现类
-
2019-07-17 17:17:00
转载于:https://www.cnblogs.com/u013533289/p/11202296.html
更多相关内容 -
MySQL关系&一对多&一对一&多对多
2018-09-04 09:34:36将实体与实体的关系,反应到最终数据库表的设计上,将关系分为三种:一对一,一对多(多对一)和多对多,所有的关系都是表与表之间的关系 一对一 一对一:一张表的一条记录只能与另外一条记录进行对应,反之亦然 ...MySQL关系&一对多&一对一&多对多
关系
将实体与实体的关系,反应到最终数据库表的设计上,将关系分为三种:一对一,一对多(多对一)和多对多,所有的关系都是表与表之间的关系
一对一
一对一:一张表的一条记录只能与另外一条记录进行对应,反之亦然学生表:姓名,性别,年龄,体重,身高,婚姻状况,籍贯,家庭地址,紧急联系人
Id(P) 姓名 性别 年龄 身高 婚姻状况 籍贯 家庭地址 紧急联系人 体重
表设计成以上这种形式:符合要求,其中姓名,性别,年龄,身高体重属于常用数据,但是婚姻籍贯住址联系人属于不常用的数据,如果每次查询所有数据,不常用的数据就会影响效率,实际又不用
解决方案:将常用和不常用的信息分离存储,分成两张表
常用信息表Id(P) 姓名 性别 年龄 身高 体重
不常用信息表,保证不常用信息与常用信息一定能够对应上:找一个具有唯一性(确定记录)的字段来共同连接两张表
婚姻 籍贯 住址 联系人 Id(p)
一个常用表中的一条记录,永远只能在一张不常用表匹配一条记录,反过来一个不常用表中的一条记录在常用表中也只能匹配一条记录,一对一的关系。
一对多
一对多:一张表中的一条记录可以对应另外一张表中的多条记录,但是返过来,另外一张表中的一条记录只能对应第一张表的一条记录,这种关系就是一对多或者多对一的关系
母亲与孩子的关系:母亲与孩子两个实体
母亲表
Id(P) 名字 年龄 性别孩子表
Id(P) 名字 年龄 性别 妈妈Id(P)
妈妈表主键以上关系,一个妈妈可以在孩子表中找到多条记录,或者一条,但是一个孩子只能一个妈妈,是一种典型的一对多的关系
但是以上设计解决了实体设计表问题,但是没有解决关系问题,孩子找不出妈妈,妈妈也找不到孩子。解决方案:在某一张表中增加一个字段,能够找到另一张表中的记录;应该在孩子表中增加一个字段指向妈妈表;因为孩子表的记录只能匹配到一条妈妈表的记录
多对多
一张表中(A)的一条记录能够对应另外一张表(B)中的多条记录,同时B表找中的一条记录也能对应A表中的多条记录,多对多的关系
老师教学:老师和学生
老师表
T_ID(p) 姓名 性别
1 A 男
2 B 女
学生表
S_ID(p) 姓名 性别
1 张三 男
2 小芳 女
中间关系表:老师与学生的关系
ID T_ID(老师) S_ID(学生)
1 A 张三
2 B 小芳
3 B 张三以上设计方案:实现了实体的设计,但是没有维护实体的关系
一个老师教过多个学生,一个学生也被多个老师教过解决方案:在学生表中增加老师字段;不管在哪张表中都会出现一个问题,该字段要保存多个数据,而且是与其他表有关系的字段,不符合表的设计规范,增加一张新表,专门维护两张表之间的关系
增加中间表之后:中间表与老师表形成了一对多的关系:而且中间表是多表,维护了能够唯一找到一表的关系;同样的学生表与中间表也是一对多的关系,一对多的关系可以匹配到关联表之间的数据
学生找老师:找出学生id->中间表找出匹配记录(多条)->老师表匹配(一条)
老师找学生:找出老师id->中间表找出匹配记录(多条)->学生表匹配(一条) -
-
浅谈线性结构和非线性结构的区别
2019-09-05 15:29:19在讲线性结构和非线性结构之前,我们必须了解数据结构是什么,它包含什么内容,现在我用一个图大概的表示一下。 数据结构就是一种计算机存储的方式,... 线性结构最典型的数据关系就是一对一,它是一种有序数...在讲线性结构和非线性结构之前,我们必须了解数据结构是什么,它包含什么内容,现在我用一个图大概的表示一下。
数据结构就是一种计算机存储的方式,比如说磁盘,磁盘是用链式存储的,这样可以节省内存空间。可以看到两两数据之间是存在关系的,他们可以通过这些关系来提高资源和存储效率。
一、线性结构
线性结构最典型的数据关系就是一对一,它是一种有序数据的集合,什么叫有序呢?比如说一维数组,决定数组块中的数据元素只有一个因素,也就是从左往右或者从右往左的行因素,而不是像二维和多维数组受行和列及更多因素影响,这就是一对一的关系。线性结构,除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。
常用的线性结构有:线性表,栈,队列,双队列,数组,串。
特点:
1.集合中必存在唯一的一个"第一个元素";
2.集合中必存在唯一的一个"最后的元素";
3.除最后元素之外,其它数据元素均有唯一的"后继";
4.除第一元素之外,其它数据元素均有唯一的"前驱"。
数据结构中线性结构指的是数据元素之间存在着“一对一”的线性关系的数据结构。
如(a1,a2,a3,…,an),a1为第一个元素,an为最后一个元素,此集合即为一个线性结构的集合。
相对应于线性结构,非线性结构的逻辑特征是一个结点元素可能对应多个直接前驱和多个后继。二、非线性结构
相对于线性结构,非线性结构有一个最明显的区别就是:各个数据元素不再保持在一个线性序列中,每个数据元素可能与零个或者多个其他数据元素发生联系。这就是所谓的一对多或者多对一,总之不是一对一。同时也会根据关系的不同,可分为层次结构和群结构。
常见的非线性结构有:二维数组,多维数组,广义表,树(二叉树等),图。
————————————————
版权声明:本文为CSDN博主「吴生4396」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41903105/article/details/88083483 -
4芯网线和8芯网线的网速有什么区别
2019-04-26 11:00:06今天我们来简单说一说一个很常识的问题:4芯网线和8芯网线的网速有什么区别? 相信大家都知道,所谓4芯网线是2对线对绞的网线,而8芯网线是4对对绞的网线。很明显8芯网线和4芯网线的差别在少了蓝色,蓝白,棕,粽白...今天我们来简单说一说一个很常识的问题:4芯网线和8芯网线的网速有什么区别?
相信大家都知道,所谓4芯网线是2对线对绞的网线,而8芯网线是4对对绞的网线。很明显8芯网线和4芯网线的差别在少了蓝色,蓝白,棕,粽白那四条辅助线。但在千兆网络以下的网络,一般网线的传输用4根主线就可以传输数据。即使是现在市面上的网线基本都是以8芯网线为主,但真正起作用的还是4根主线。
那么是不是4芯网线和8芯网线的网速就没有什么区别了呢?
其实在短距离中,4芯网线和8芯网线确实没有什么区别。
但4芯有两个缺点,一个是有时会出现传输不稳定的情况,一个是不能用在大型的网络上。
所以当传输距离过长,和网络要求比较高的时候,两者的网速就会有大的区别。
在全双工模式下,8根线都要分别接到水晶头相应的线序位置上;
在半双工模式下,只需接4根线,参照T568B标准,一般使用1 、2、3、6 线序位置上的四根线,即:白橙、橙、白绿、绿 四根线;
白橙、橙 用于发送数据 ,白绿、绿 用于接收数据。
全双工模式下,网线最大可以达到100兆以上的速度;
在半双工模式下,网线能达到的速度通常为10兆左右。
全双工模式的网线既可以工作于全双工模式,也可以工作于半双工模式;
但半双工模式的网线不能工作于全双工模式。
在半双工模式下,多出来的两组线可以用来接电话线,比如:把“白蓝、蓝” 这组线分出来当电话线使用。
在局域网网络布线中,用这种方式可以节省布线成本,一根双绞线同时当网线和电话线使用。半双工数据传输允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;
全双工数据通信允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力。
网卡的全双工(Full Duplex)是指网卡在发送数据的同时也能够接收数据,两者同步进行,这好像我们平时打电话一样,说话的同时也能够听到对方的声音。目前的网卡一般都支持全双工。
提到全双工,就不能不提与之密切对应的另一个概念,那就是“半双工(Half Duplex)”,所谓半双工就是指一个时间段内只有一个动作发生,举个简单例子,一条窄窄的马路,同时只能有一辆车通过,当目前有两量车对开,这种情况下就只能一辆先过,等到头儿后另一辆再开,这个例子就形象的说明了半双工的原理。早期的对讲机、以及早期集线器等设备都是基于半双工的产品。随着技术的不断进步,半双工会逐渐退出历史舞台。半双工(Half Duplex)数据传输指数据可以在一个信号载体的两个方向上传输,但是不能同时传输。例如,在一个局域网上使用具有半双工传输的技术,一个工作站可以在线上发送数据,然后立即在线上接收数据,这些数据来自数据刚刚传输的方向。像全双工传输一样,半双工包含一个双向线路(线路可以在两个方向上传递数据)。
-
-
单播、多播(组播)和广播的差别
2018-08-29 14:10:15单播、多播(组播)和广播的差别 单播、多播和广播单播”(Unicast)、“多播”(Multicast)和“广播”(Broadcast)这三个术语都是用来描写叙述网络节点之间通讯方式的术语。 那么这些术语到底是什么意思?... -
网络: 快速理解NAT与NAPT的区别
2019-03-05 12:49:14(通俗的讲)它们都是地址转换,NAPT与NAT的区别在于 NAT是NAT是一对一转换,NAPT是多对一转换。通俗来说NAT是一个内部地址转换成一个外部地址进行通信的,而NAPT是多个内部地址使用同一地址不同端口转换成外部地址... -
物理机、虚拟机、容器的比较(一)
2018-05-23 21:39:33一、物理机二、虚拟机三、容器 -
Oracle 实例名/服务名 请问SID和Service_Name有什么区别啊?
2014-05-13 14:02:271.SID:一个数据库可以有多个实例(如RAC),SID是用来标识这个数据库内部每个实例的名字,就好像一个部门里,每个人都有一个自己的名字。 2.SERVICE_NAME:是这个数据库对外宣称的名字,外面的人要想连接我这个... -
-
MongoDB和mysql的区别
2021-03-12 19:37:57MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。 MongoDB 文档类似于 JSON 对象... -
-
类与对象的区别?
2018-08-13 09:35:36对于初学者来说,类与对象之间的关系的非常模糊不清的,在这里跟大家分享一下,让初学者有所...在面向对象的编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属性说明和服务说明两个主要部分。 二... -
Docker和虚拟机的区别
2017-12-01 11:51:56比较直观地说,vm通过Hypervisor对硬件资源进行虚拟化,而docker直接使用硬件资源,利用率上来看docker明显更具有优势。 上一组从知乎上看到的图: 可以看到,容器隔离的粒度更加小一点,而且多 -
-
-
-
-
一文说清楚pytorch和tensorFlow的区别究竟在哪里
2018-11-19 23:05:52首先我们要搞清楚pytorch和TensorFlow的一点区别,那就是pytorch是一个动态的框架,而TensorFlow是一个静态的框架。何为静态的框架呢?我们知道,TensorFlow的尿性是,我们需要先构建一个TensorFlow的计算图,构建好... -
-
-
-
域名和ip地址的区别
2016-01-28 10:12:57我们也知道每一台计算机都有一个唯一ip地址, 特别难记,所以出现了今天的DNS(域名) 当我们的计算机想要和一个远程机器连接时,我们可以申请连接该机器ip地址下的DNS,例如:www.baidu.com。 连接的时候,DNS会提供... -
Java中DAO层、Service层和Controller层的区别
2018-09-03 09:47:07DAO层: DAO层叫数据访问层,全称为data access object,属于一种比较底层,比较基础的操作,...Service层叫服务层,被称为服务,粗略的理解就是对一个或多个DAO进行的再次封装,封装成一个服务,所以这里也就不... -
(GIS可视化)ArcGis中属性连接、关联和空间连接的区别
2017-04-14 11:58:23ArcGis中属性连接、关联和空间连接的区别 -
进程和程序的主要区别是
2016-04-06 22:25:391)进程的定义:“进程”是操作系统的最基本、最重要的概念之一。但迄今为止对这一概念还没有一...它是系统进行资源分配和调度的一个独立单位。 2)进程的特征:动态性:是程序的一次执行;并发性:进程是可以并发执行 -
-