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

iis 网站压缩吉林网站建设平台

iis 网站压缩,吉林网站建设平台,网站设计概述,微信公众号运营规则通过之前的学习我们知道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/574637/

相关文章:

  • 网站建设有技术的公司图片在线设计平台
  • 建公司网站的详细步骤关于进一步加强网站建设
  • 丰宁县有做网站的吗?维护一个网站一年多少钱
  • 杭州网站设计渠道wordpress购物主题
  • 山东政务网站建设文字logo免费设计在线生成
  • 韩雪个人网站唐山网络运营推广
  • 查建设工程业绩在哪个网站网站建设优化服务如何
  • 江苏省建设工程安全监督网站商洛网站制作
  • 海淀网站建设wzjs51网页设计页面配色分析
  • 网站的备案流程图垦利网站制作
  • 行业用品网站怎么建设外链买东西的网站都有哪些
  • 淘宝做促销的网站集团门户网站建设策划
  • 网站排行榜查询怎样把个人介绍放到百度
  • vps 网站上传河北省招投标信息网
  • 武进网站建设咨询网站定制公司选哪家
  • 郑州市建设投资集团公司网站深圳企业网站建设推荐公司
  • 天津个人网站备案查询dz网站恢复数据库
  • 关于网站建设的期刊文献宣传片文案
  • 物业网站模板下载wordpress+菜单大小
  • 网站建设案例教程视频空间刷赞网站推广
  • 网站建设借鉴做外贸球衣用什么网站
  • 网站建设的前途微信公众号制作网站
  • 做网站之前要安装什么网站改进建议有哪些
  • 网站建设+管理系统开发山东专业网站建设公司
  • 基础微网站开发咨询中国印花图案设计网站
  • 找最新游戏做视频网站天津市招标投标公共服务平台
  • 电影订票网站怎么做注册地址出租多少钱
  • 做网站的规划和设想怎样做能让招聘网站记住密码
  • 建站知乎网站公告建设方案
  • 济南市住房和城乡建设局官方网站淮阳住房和城乡建设网站