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

宝安区做外贸网站的公司百度网址提交

宝安区做外贸网站的公司,百度网址提交,怎么自制网站,焦作高端网站建设一、Map 之前学习的Collection集合体系是单列集合,即一次存取一个元素 Map是双列集合,一次存取一对元素,这一对儿称为键值对,key-value,且key是映射到value 所谓键映射到值,是指只能通过键找到值,无法通过值找键 Map中键不能重复!值允许重复 Map中一个键,只能对应一个值 Ma…

一、Map

之前学习的Collection集合体系是单列集合,即一次存取一个元素

  • Map是双列集合,一次存取一对元素,这一对儿称为键值对,key-value,且key是映射到value

  • 所谓键映射到值,是指只能通过键找到值,无法通过值找键

  • Map中键不能重复!值允许重复

  • Map中一个键,只能对应一个值

  • Map是根接口,常用有2个实现类

    • HashMap

    • TreeMap

二、HashMap【重点】

2.1 介绍

  • HashMap是Map的实现,也是键不能重复,值可以重复,只能通过键找值

  • 底层是使用哈希表实现,所以存储的元素是无序的

  • 允许存储null值,null键

  • 不保证线程安全

  • Hashtable是线程安全的,不允许null值null键,除此之外与HashMap一样

2.2 api演示

public class Demo1 {
​public static void main(String[] args) {HashMap<Integer, String> map = new HashMap<>( );map.put(1,"A");map.put(2,"B");map.put(3,"C");map.put(4,"D");
​// 判断是否包含该键System.out.println(map.containsKey(4));// 判断是否包含该valueSystem.out.println(map.containsValue("D"));
​// get(Object key) ,通过键找值的String s = map.get(1);System.out.println("s = " + s);
​System.out.println("删除前:" + map );// V remove(Object key),通过键删除整个键值对String v = map.remove(2);System.out.println("v = " + v);System.out.println("删除后:" + map );
​// 集合大小System.out.println(map.size() );
​// 集合清空map.clear();
​// 集合为空System.out.println(map.isEmpty( ));}
​private static void show1() {// 创建空mapHashMap<Integer, String> map = new HashMap<>( );// 存储// map.put(33,"C");// map.put(33,"C");// map.put(11,"A");// map.put(44,"D");// map.put(22,"B");// map.put(55,"D");
​// 存储元素无序,key不允许重复,value可以重复// System.out.println(map );
​// put方法的返回值,返回的是该键所对应的旧值,如果没有返回nullString a = map.put(1, "A");System.out.println("a = " + a);
​String a2 = map.put(2, "B");System.out.println("a2 = " + a2);
​String a222 = map.put(2, "BBB");// 这个BBB会将之前的B覆盖System.out.println("a222 = " + a222);
​System.out.println(map);}
}

2.3 map的遍历

Map没有直接遍历的手段,但是提供了三种Collection的方式来查看Map,分别

  • 键集(keySet),即集合中只有键

  • 值集(values),即集合中只有值

  • 键值映射集(entrySet),即集合中键值都有

public static void main(String[] args) {HashMap<Integer, String> map = new HashMap<>( );map.put(1, "A");map.put(2, "B");map.put(3, "C");map.put(4, "D");
​// 键集Set<Integer> keySet = map.keySet( );for (Integer key : keySet) {System.out.println(key);}
​// 值集Collection<String> values = map.values( );for (String v : values) {System.out.println(v);}
​// 键值映射集Set<Map.Entry<Integer,String>> entrySet =  map.entrySet();for (Map.Entry<Integer,String> entry: entrySet) {Integer key = entry.getKey( );String value = entry.getValue( );System.out.println(key+"-->"+value );}}

Entry,是Map的内部类,代表的是键值项,即一个Entry对象代表一个键值对对象

这个Entry类中提供了单独获得键,和值的方法 ,例如 getKey(),getValue

2.4 去重原理

  • HashMap只有键能去重

  • 将元素存储在键上,先调用元素的hashcode方法,判断地址值是否相同

    • 如果地址值不同,直接存储

    • 如果地址值相同,再调用equals方法

  • 调用equals方法,如果

    • 结果是true,即相同,不存储

    • 结果是false,即不相同,即存储

2.5 扩容原理[重点]

HashMap初始容量,默认是16,也可以通过构造方法设置初始容量,但是一般不用改

还有一个影响性能的,是加载因子,默认值是0.75

当存储的元素> 0.75(加载因子) * 16(初始容量) ,就要扩容,扩容成2倍


但是,JDK1.8以后,HashMap底层变成有hash表(数组)+链表+红黑树实现

详情: 参考其他资料

这样底层设计的目的是为了查询更快!!!

三、TreeMap

TreeMap,是双列集合,也是键不允许重复

底层是红黑树,会根据存储的键默认进行自然顺序排序,也可以根据创建TreeMap时传入的比较器进行排序

它与我之前写过的treeset几乎一样,这里不再过多介绍

四、LinkedHashMap

LinkedHashMap,保证存储的元素有序(遍历顺序和插入顺序一致),且去重

public static void main(String[] args) {LinkedHashMap<Integer, String> lhm = new LinkedHashMap<>( );lhm.put(3,"C");lhm.put(2,"B");lhm.put(4,"D");lhm.put(5,"E");lhm.put(4,"D");lhm.put(1,"A");lhm.put(1,"A");
​System.out.println(lhm );
​
}

http://www.yidumall.com/news/36668.html

相关文章:

  • 专门做杂志的网站有哪些seo搜索
  • 福建网站建设公如何成为百度广告代理商
  • 建站精灵网站模板谁能给我个网址
  • 响应式网站建设 苏州北京培训学校
  • 自己做的网站怎么被搜录熊猫seo实战培训
  • 广东h5网站建设seo优化软件
  • 洛阳自助建站百度商城app
  • 中山精品网站建设讯息盘多多网盘资源库
  • 美食分享网站建设策划书新手怎么推广自己的店铺
  • 外贸网站建设推广公司前景如何长沙百度推广排名优化
  • 苏州做网站优化的武汉网站设计
  • 陕西网站备案 多久最近的疫情情况最新消息
  • 上海数据开放网站建设seo技术培训东莞
  • 中国糕点网页设计网站网站设计与实现毕业设计
  • 网站seo测试深圳市龙华区
  • 简洁的企业网站百度关键词排名查询
  • 女性做网站很有名的竞价推广开户
  • 个人域名备案完成了 可以改网站内容吗武汉seo学徒
  • html视频网站源码天津seo排名扣费
  • 山东省住房和建设网站专业seo外包
  • wordpress havepostsseo搜索引擎优化工程师招聘
  • 网站建设与搜索引擎营销有什么关系seo提升排名
  • 建站申请哈尔滨关键词优化报价
  • 郴州网站seo浙江百度查关键词排名
  • 35互联做网站整站排名优化公司
  • wordpress网站推翻重建google搜索优化方法
  • 出名的网站建设软件百度指数分析数据
  • 菜篮网网站开发技术谷歌广告平台
  • 用卡通人物做网站属于侵权吗seo是如何优化
  • flash型的著名网站营销推广是什么