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

建手机网站的必要性系统开发的可行性分析

建手机网站的必要性,系统开发的可行性分析,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.w-s-a.com/news/268599/

相关文章:

  • 人员调动在网站上怎么做网站开发课程意见和建议
  • 卓训网是个什么网站wordpress命令执行时间
  • 网站建设需要做哪些工作网片焊接
  • 网站优化方案dedecms win8风格网站模板
  • 企业如何制作网站管理系统慈溪住房和城乡建设部网站
  • 青岛网站建设有哪些公司区块链网站开发价格
  • 怎么设置网站的logo微信公众号的h5网站开发6
  • 粉色的网站绍兴市建设局网站
  • 个人网站的基本风格是wordpress 模板选择
  • 南昌专业做网站公司有哪些广州市住房城乡建设部门户网站
  • 福州网站建设团队淘宝联盟网站怎么建设
  • 福州企业网站建站模板国内黑色风格的网站
  • 好看的网站首页设计android移动开发
  • 域名注册完成后如何做网站域名 删除 wordpress
  • wordpress xml导入大小东莞seo优化方案
  • 网站建设效益网站销售怎么做的
  • 利用网站空间做代理设计方案的格式范文
  • 无锡建设工程质量监督网站遵义做手机网站建设
  • 衡阳商城网站制作ps做网站首页规范尺寸
  • 微信网站应用开发营销推广的方案
  • 广州做网站商城的公司制作一个app的完整流程
  • 湖南城乡建设厅网站163注册企业邮箱
  • 做网站怎么调整图片间距织梦做的网站如何去掉index
  • 凡科网免费建站步骤及视频网页设计基础教程第二版课后答案
  • 建设一个旅游网站毕业设计企业网站要更新文章吗
  • 做网站需要简介中山网站设计公司
  • 网站怎么做导航栏微信公众号官网登录
  • 1_ 掌握网站开发的基本流程 要求:熟悉网站开发与设计的基本流程.电子商城网站开发
  • 百度网站怎么建设河北省工程造价信息网官网
  • 阿里云网站模板网页设计的合适尺寸是多少