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

东莞电子网站建设dw设计一个简单网站

东莞电子网站建设,dw设计一个简单网站,网页设计作品我的家乡,公众号开发渠道二维码怎么做概述Map集合体系HashMap:LinkedHashMap:就是在HashMap的基础上变得有序,代码同上,顺序会变成下图TreeMap:可排序,默认升序,其他规则和HashMap一样,无索引、不重复,后面的…

概述

Map集合体系

HashMap:

LinkedHashMap:

就是在HashMap的基础上变得有序,代码同上,顺序会变成下图

TreeMap:

可排序,默认升序,其他规则和HashMap一样,无索引、不重复,后面的出现的数据会覆盖前面出现的数据

Map常用方法

同List集合,方法基本都是公共的

补充方法:putAll

如下图,可以将map2复制一份到map1中,且满足不重复的原则,map2中复制进去的相当于后来的数据,会覆盖原来在map1中相同的键(java2被覆盖)

Map遍历方式

第一种:键找值

将所以键放到一个set集合里,然后通过循环遍历set集合中的键找对应map的值

第二种:遍历键值对

与第一种思路接近,将键值对装进set集中中,再使用增强for循环进行遍历。

但是增强for循环的写法是  for( 类型 变量 : 集合) { };   其中的类型难以确定,因为键值对有可能两个元素类型不一样,比如<String , Double>

因此需要通过 map.enterySet( ) 方法获取所有键值对封装成对象装入set集中去,写法: Set< Map.Entery<类型1, 类型2> > entries = map.entery( );  

相当于键值对的类型就是  Map.Entery<类型1, 类型2>  ,装入到entries集合中去,之后遍历entries即可

示例:

第三种:Lambda表达式

jdk1.8开始可以使用的,这个方法有点赖了,巨简洁,如下图

更有甚者-->

原版代码其实如下图,然后采用了lambda表达式对匿名内部类进行简化

HashMap

无序、不重复、无索引

其实HashSet的本质就是没有值的HashMap,因此HashMap的原理与之前学习的HashSet一致,采用哈希表实现,如下图,HashMap用键来计算哈希值,且放入的数据是一个 键值对entry对象(下图的一个结点)

下面是从 【自用】JavaSE--集合框架(一)--Collection集合体系 中复制的:

HashMap同样也有对对象的去重原理,方法同HashSet,下面是从   【自用】JavaSE--集合框架(一)--Collection集合体系  中复制来的:

 HashSet默认不能对内容一样的两个不同对象进行去重!因为虽然内容一样,但是地址是不同的,因此HashSet会认为两个对象并不是重复的

解决办法:在对象的类中重写 equals方法 与 HashCode方法 即可,直接右键generate可以生成,具体如下,简单的理解 ---> 重写后的equals方法:若对象相同会返回true,而重写后的hashcode方法:若两个对象的内容一样就返回相同的哈希值

LinkedHashMap

有序、不重复、无索引

原理也与LikndHashSet一样,在哈希表的基础上增加了双链表,不同点就是存入的是 键值对 对象以及用键来计算哈希值

TreeMap

按照键的顺序默认升序排序(可自定义排序规则)、不重复、无索引

其实已经知道了,原理也是和TreeSet一样的!!!按照键默认升序排序,但是如果键是一个对象,就需要自定义排序,方法同TreeSet,具体如下(复制于【自用】JavaSE--集合框架(一)--Collection集合体系):

自定义排序规则

 由于无法对对象进行直接排序,因此需要自己指定排序规则,如下图,之前在学习Arrays.sort时学过,这里方法一样

补充:

  1. 如果两种方法都是用了,TreeSet会采用就近原则使用外部重写的Comparator规则,而不使用对象类内部重新的
  2. 如果两个对象中出现的某一项相同,比如采用年龄排序,年龄都是16,则会丢失其中一个,因为Set的规则就是出现输入相同的数据时会保留先前输入的

Comparable

让需要排序的对象类实现Comparable泛型接口,重写comparetor,自己指定规则,就能对对象进行排序了,示例如下:

Comparator

Comparator是一个匿名内部类,在传入参数时直接重写,可以利用TreeSet的有参构造器直接设置Comparator对象

示例如下,其中调用的 Double.compare(double a,double b) 方法:a>b return 1 ; a<b return -1; a==b return0

集合的嵌套

集合中还有集合,示例如下

http://www.dtcms.com/a/526415.html

相关文章:

  • 东莞网站维护买到域名怎么做网站
  • 【内存池】动态内存分配机制
  • 一键注册所有网站涉密网络运行维护服务外包的单位
  • 深圳市 网站建设450做自己的视频网站
  • 免费空间的个人网站为什么wordpress在ie打开很慢
  • 【1024节】一年一年又是一年
  • 武义建设局网站网站建设 技术方案
  • 网站别人备案怎么办dedecms wap网站模板下载
  • 青岛seo整站优化织梦网站如何做地区分站
  • 网站首页图片尺寸广州安全教育平台官网登录
  • 南阳网站推广站长之家alexa排名怎么看
  • 开家网站建设培训学校付钱做编程题目的网站
  • 商业网站的特点wordpress需要多少运存
  • 怎么做网站盗号市场推广的方法和规划
  • 好的h5制作网站模板下载专业类搜题软件
  • 建设部网站实名制举报佛山搜索seo网络推广
  • 基于jsp的电子商务网站开发wordpress后台添加友情链接
  • 湖州网站建设制作世界上最有趣的网站
  • Modbus面试高频问题标准答案
  • 深圳招聘一般在哪个网站岳阳网络公司
  • 网站ico图标放在哪里网站制作是怎样做的
  • 网站制作哪里好网站建设要什么
  • Wordpress验证登陆函数作品提示优化要删吗
  • 自己做的网站怎样让百度搜到php的网站怎么做的
  • 做网站怎么接私活WordPress设置两个域名
  • C++ 智能指针的使用及其原理
  • 张家港网站制作服务天元建设集团有限公司济南第六建筑工程公司
  • 信息网站方案百度做免费推广的步骤
  • 做网站和软件哪个挣钱公司装修费用如何入账
  • 建个外国网站公司网站建设开发维护工作