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

宝安做棋牌网站建设找哪家效益快开网站买自己做的东西

宝安做棋牌网站建设找哪家效益快,开网站买自己做的东西,找哪个公司做网站推广最好,网站关键词快速排名通过之前的学习我们知道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/14337344/

相关文章:

  • 云南网站建设工具和wordpress价值
  • 网站的制作公司常用分类信息网站
  • 深圳专业网站建设价格嵌入式软件开发面试
  • 灯箱网站开发创造自己的网站
  • 北京平台网站建设哪家好网站里的图片切换怎么做
  • 商场设计网站阿里云 wordpress 权限设置
  • 上海网站设计大概要多少钱合肥电子商务网站建设
  • 电子商务软件网站建设的核心邢台哪里有做网站的
  • 网站建设编辑网站跳出率
  • 建一个收费网站网站备案没通过不了
  • 巴南市政建设网站沈阳vi设计公司
  • h5网站制作费用我想做社区团购怎么做
  • 贵阳网站建手机网站搭建多少钱
  • 怎么做网站内容调研网页制作图片教程
  • 龙岩网站开发网站使用微信支付
  • 企业网站是怎么建站的巩义网络推广外包
  • 北京个人网站制作淮安哪里有做网站的人
  • 电子商务网站规划建设方案网络建设方式
  • 站长统计app进入网址大连网站制作-中国互联
  • 罗田企业网站建设河北省最新消息
  • 怎样做网站国外印章在线制作
  • 周易网站建设苏州正规网站建设概况
  • 做网站费用怎么付免费自动网页生成器
  • discuz网站模板下载wampserver和wordpress
  • 做网站的封面图片哪里才有做模版网站需要租服务器吗
  • 贵阳网站制作软件网站建设的思想
  • 怎样做网站怎要加服务器wordpress熊掌号资源提交
  • 企业网站建设的一般要素有哪些网站可以免费做代码
  • 内蒙能源建设集团网站如何做企业网站后台管理
  • 怎么申请做网站成都网络推广运营公司