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

宝安商城网站建设哪家效益快潍坊网络营销招聘

宝安商城网站建设哪家效益快,潍坊网络营销招聘,wordpress域名替换,wordpress页面留言板通过之前的学习我们知道Map是一个双列集合#xff0c;就是以键值对的形式进行数据存储 java进阶—集合 Map 下面有 三个子接口#xff0c;HashMap #xff0c; HashTable 以及 TreeMap 提醒一点#xff1a;Map不是Collection下的集合#xff0c;Collection是单列集合就是以键值对的形式进行数据存储 java进阶—集合 Map 下面有 三个子接口HashMap HashTable 以及 TreeMap 提醒一点Map不是Collection下的集合Collection是单列集合List,Set Map 的存储方式跟 list ,set 是不一样的先来看看他的基本结构长什么样 MapString,String resultMap new HashMap(3);泛型里面贴的标签是 键值对的类型 键值 括号里面的3 是设置这个Map 容器的大小 开发中一定要设置map的初始化大小具体多少按需求而定 接下来我们一个一个来看 HashMap 可以说HashMap在开发中最常用代码中随处可见创建也很简单new 一个 一样的集合创造出来了不用就浪费了 添加put MapString,String resultMap new HashMap(3);resultMap.put(1号,去玩);resultMap.put(2号,去吃);resultMap.put(3号,睡觉);移除remove remove 是根据key 移除 value MapString, String resultMap new HashMap(3);resultMap.put(1号, 去玩);resultMap.put(2号, 去吃);resultMap.put(3号, 睡觉);resultMap.remove(1号);是否存在这个KeycontainsKey MapString, String resultMap new HashMap(3);resultMap.put(1号, 去玩);resultMap.put(2号, 去吃);resultMap.put(3号, 睡觉);boolean flag resultMap.containsKey(3号);System.out.println(flag);是否存在这个ValuecontainsValue MapString, String resultMap new HashMap(3);resultMap.put(1号, 去玩);resultMap.put(2号, 去吃);resultMap.put(3号, 睡觉);boolean flag resultMap.containsValue(上班);System.out.println(flag);4. 判断集合是否为空isEmpty MapString, String resultMap new HashMap(3);resultMap.put(1号, 去玩);resultMap.put(2号, 去吃);resultMap.put(3号, 睡觉);boolean flag resultMap.isEmpty();System.out.println(flag);5. 获取集合大小size MapString, String resultMap new HashMap(3);resultMap.put(1号, 去玩);resultMap.put(2号, 去吃);resultMap.put(3号, 睡觉);int size resultMap.size();System.out.println(size);6. 遍历 map集合遍历这边介绍三种方式 entrySet 推荐使用 for (Map.EntryString, String entry : resultMap.entrySet()) {System.out.println(entry.getKey()entry.getValue());}keySet (不要使用效率很低) MapString, String resultMap new HashMap(3);resultMap.put(1号, 去玩);resultMap.put(2号, 去吃);resultMap.put(3号, 睡觉);for (String s : resultMap.keySet()) {System.out.println(keys....valueresultMap.get(s));}jdk1.8 forEach MapString, String resultMap new HashMap(3);resultMap.put(1号, 去玩);resultMap.put(2号, 去吃);resultMap.put(3号, 睡觉);resultMap.forEach((k, v) - {System.out.println(k...v);});我们来做个实验看看哪种遍历效率更高 我们先造100W的数据 int count 1000000;long start System.currentTimeMillis();MapString, String resultMap new HashMap(count);for (int i 1; i count; i) {resultMap.put(i , i --- map);}//效率对比,装载Map耗时System.out.println(装载map耗时 (System.currentTimeMillis()-start) ms);//用entrySetstart System.currentTimeMillis();for (Map.EntryString, String entry : resultMap.entrySet()) {String key entry.getKey();String value entry.getValue();}System.out.println(用entrySet 遍历 map耗时 (System.currentTimeMillis()-start) ms);//用keySetstart System.currentTimeMillis();for (String s : resultMap.keySet()) {String key s;String value resultMap.get(s);}System.out.println(用keySet 遍历 map耗时 (System.currentTimeMillis()-start) ms);//用forEachstart System.currentTimeMillis();resultMap.forEach((k, v) - {String key k;String value v;});System.out.println(用forEach 遍历 map耗时 (System.currentTimeMillis()-start) ms);输出 可以看到entrySet效率是最高的 forEach 效率是最低的 当我们把数据调整到1000W时 int count 10000000;long start System.currentTimeMillis();MapString, String resultMap new HashMap(count);for (int i 1; i count; i) {resultMap.put(i , i --- map);}//效率对比,装载Map耗时System.out.println(装载map耗时(System.currentTimeMillis()-start) ms);//用entrySetstart System.currentTimeMillis();for (Map.EntryString, String entry : resultMap.entrySet()) {String key entry.getKey();String value entry.getValue();}System.out.println(用entrySet 遍历 map耗时(System.currentTimeMillis()-start) ms);//用keySetstart System.currentTimeMillis();for (String s : resultMap.keySet()) {String key s;String value resultMap.get(s);}System.out.println(用keySet 遍历 map耗时(System.currentTimeMillis()-start) ms);//用forEachstart System.currentTimeMillis();resultMap.forEach((k, v) - {String key k;String value v;});System.out.println(用forEach 遍历 map耗时(System.currentTimeMillis()-start) ms);输出结果 entrySet 的效率依然是最高的foreach这边效率跟entry差不多了 将数据 换成1500W int count 15000000;long start System.currentTimeMillis();MapString, String resultMap new HashMap(count);for (int i 1; i count; i) {resultMap.put(i , i --- map);}//效率对比,装载Map耗时System.out.println(装载map耗时(System.currentTimeMillis()-start) ms);//用entrySetstart System.currentTimeMillis();for (Map.EntryString, String entry : resultMap.entrySet()) {String key entry.getKey();String value entry.getValue();}System.out.println(用entrySet 遍历 map耗时(System.currentTimeMillis()-start) ms);//用keySetstart System.currentTimeMillis();for (String s : resultMap.keySet()) {String key s;String value resultMap.get(s);}System.out.println(用keySet 遍历 map耗时(System.currentTimeMillis()-start) ms);//用forEachstart System.currentTimeMillis();resultMap.forEach((k, v) - {String key k;String value v;});System.out.println(用forEach 遍历 map耗时(System.currentTimeMillis()-start) ms);可以看到forEach的效率是最高的keySet 效率一直很低 总结 对map进行遍历建议使用 entrySet数据量很庞大千万级别建议用forEach keySet不要用 HashTable HashTable 不建议使用就跟vector 跟arrayList 一样 其主要一个原因就是线程安全这是个优点但是它效率低 TreeMap treeMap中的元素默认是按照key来进行自然排序的 对Integer来说其自然排序就是数字的升序 对String来说其自然排序就是按照字母表排序 主要体现在他的构造 public class TreeMapK,V extends AbstractMapK,V implements NavigableMapK,V, Cloneable, Serializable来看代码 TreeMapInteger, String treeMap new TreeMap();treeMap.put(1,1号);treeMap.put(7,7号);treeMap.put(6,6号);treeMap.put(3,3号);for (Map.EntryInteger, String entry : treeMap.entrySet()) {System.out.println(entry.getKey()....entry.getValue());}打印结果 【最后来一个例子加深对map集合的使用】 创建三个学生有属性姓名年龄给每个学生定义上整形编号 保存在map中并且遍历输出学生编号姓名年龄 public class Person {private String name;private Integer age;public Person(String name, Integer age) {this.name name;this.age age;}public String getName() {return name;}public void setName(String name) {this.name name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age age;} } public static void main(String[] args) {MapInteger, Person treeMap new HashMap(3);treeMap.put(1,new Person(zhangsan,18));treeMap.put(3,new Person(lisi,20));treeMap.put(4,new Person(wangwu,30));for (Map.EntryInteger, Person entry : treeMap.entrySet()) {System.out.println(编号:entry.getKey(),姓名:entry.getValue().getName(),年龄:entry.getValue().getAge());}}执行结果
http://www.hkea.cn/news/14278994/

相关文章:

  • 无固定ip 建设网站做网站需要提供些什么页面
  • 网站建设包括哪些方面海外转运网站建设
  • 网站设计多少钱网络推广赚钱
  • 免费做的英文网站手机做网站教程
  • 建设部注册中心网站云南省城市建设培训中心网站
  • 软件网站开发平台如何进入邮箱的网站
  • 做网站需要的图片设计兼职网站有哪些
  • 资金盘网站开发费用家居企业网站建设渠道
  • 百度网站邀您点评北京设计工作室排名
  • 建设公司网站需要钱吗电影点评wordpress主题
  • 韩国展厅设计网站不良网站正能量免费下载
  • 网站建设方面的书籍推荐wordpress图片展示主题yousucai
  • 环保行业网站建设服务器网站别名设置
  • 南宁微网站制作做网站几百块可信吗
  • 山西太原网建设企业前端seo优化方案
  • 公路水运建设质量与安全监督系统网站wordpress用户注册密码
  • acg大神做的网站做物流的可以在那些网站找客户端
  • 枣庄市网站建设昌图网站
  • 兴化网站开发wordpress是h5页面跳转
  • 邯郸医院网站建设品牌策划营销
  • 霸州建网站龙岩招聘求职网站有哪些
  • 零代码自助建站平台上海松江网站建设
  • 怎样设计静态网站页面比较有名的设计网站
  • 国内建网站知名企业域名不转出可以做网站吗
  • 百度怎么注册店面地址入门seo技术教程
  • php 网站开发 视频学计算机工资一月多少
  • 网站搭建心得体会宿迁东岸网络技术有限公司
  • 给网站公司做网站找人做设计的网站
  • 江苏城乡建设部网站首页网站做啥内容用户多
  • 常平哪里有招计算机网站开发的微信小程序商城定制开发