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

广州营销型网站建设费用wordpress最新版下载

广州营销型网站建设费用,wordpress最新版下载,用什么工具做网站视图,windows 2008 搭建网站Map集合的概述 Map集合是一种双列集合#xff0c;每个元素包含两个数据。 Map集合的每个元素的格式#xff1a;keyvalue(键值对元素)。 Map集合也被称为“键值对集合”。 Map集合的完整格式#xff1a;{key1value1 , key2value2 , key3value3 , ...} Map集合的使用场景…Map集合的概述 Map集合是一种双列集合每个元素包含两个数据。 Map集合的每个元素的格式keyvalue(键值对元素)。 Map集合也被称为“键值对集合”。 Map集合的完整格式{key1value1 , key2value2 , key3value3 , ...} Map集合的使用场景之一购物车系统商品对应数量{商品16 , 商品23 商品3 2} 使用最多的Map集合是HashMap。  Map集合体系特点 Map集合的特点都是由键决定的。 Map集合的键是无序,不重复的无索引的值不做要求可以重复。 Map集合后面重复的键对应的值会覆盖前面重复键的值。 Map集合的键值对都可以为null。 HashMap:键是无序不重复无索引值不做要求。与Map体系一致 LinkedHashMap:键是有序不重复无索引值不做要求。 TreeMap键是排序不重复无索引的值不做要求。 Map集合常用API Map是双列集合的祖宗接口它的功能是全部双列集合都可以继承使用的。 Map集合的遍历方式一键找值 先获取Map集合的全部键的Set集合。 遍历键的Set集合然后通过键提取对应值。 键找值涉及到的API: SetK keySet()  获取所有键的集合 V get(Object key) 根据键获取值 public class MapDemo01 {public static void main(String[] args) {MapString , Integer maps new HashMap();// 1.添加元素: 无序不重复无索引。maps.put(娃娃,30);maps.put(iphoneX,100);maps.put(huawei,1000);maps.put(生活用品,10);maps.put(手表,10);System.out.println(maps);// maps {huawei1000, 手表10, 生活用品10, iphoneX100, 娃娃30}// 1、键找值第一步先拿到集合的全部键。SetString keys maps.keySet();// 2、第二步遍历每个键根据键提取值for (String key : keys) {int value maps.get(key);System.out.println(key value);}} } Map集合的遍历方式二键值对 “键值对”的方式遍历     1.把Map集合转换成一个Set集合:SetMap.EntryK, V entrySet();     2.此时键值对元素的类型就确定了类型是键值对实体类型Map.EntryK, V     3.接下来就可以用foreach遍历这个Set集合类型用Map.EntryK, V 键值对涉及到的API: SetMap.EntryK,V entrySet()  获取所有键值对对象的集合 K  getKey()  获得键 V  getValue() 获取值 public class MapDemo02 {public static void main(String[] args) {MapString , Integer maps new HashMap();// 1.添加元素: 无序不重复无索引。maps.put(娃娃,30);maps.put(iphoneX,100);maps.put(huawei,1000);maps.put(生活用品,10);maps.put(手表,10);System.out.println(maps);// maps {huawei1000, 手表10, 生活用品10, iphoneX100, 娃娃30}/**maps {huawei1000, 手表10, 生活用品10, iphoneX100, 娃娃30}使用foreach遍历map集合.发现Map集合的键值对元素直接是没有类型的。所以不可以直接foreach遍历集合。可以通过调用Map的方法 entrySet把Map集合转换成Set集合形式 maps.entrySet();SetMap.EntryString,Integer entries maps.entrySet();[(huawei1000), (手表10), (生活用品10), (iphoneX100), (娃娃30)]entry此时可以使用foreach遍历*/// 1、把Map集合转换成Set集合SetMap.EntryString, Integer entries maps.entrySet();// 2、开始遍历for(Map.EntryString, Integer entry : entries){String key entry.getKey();int value entry.getValue();System.out.println(key value);}} } Map集合的遍历方式三lambda表达式 结合lambda遍历Map集合的APIdefault void forEach(BiConsumer? super K, ? super V action) public class MapDemo03 {public static void main(String[] args) {MapString , Integer maps new HashMap();// 1.添加元素: 无序不重复无索引。maps.put(娃娃,30);maps.put(iphoneX,100);// Map集合后面重复的键对应的元素会覆盖前面重复的整个元素maps.put(huawei,1000);maps.put(生活用品,10);maps.put(手表,10);System.out.println(maps);// maps {huawei1000, 手表10, 生活用品10, iphoneX100, 娃娃30}// maps.forEach(new BiConsumerString, Integer() { // Override // public void accept(String key, Integer value) { // System.out.println(key --- value); // } // });maps.forEach((k, v) - {System.out.println(k --- v);});} } Map集合案例-统计投票人数 需求 某个班级80名学生现在需要组成秋游活动班长提供了四个景点依次是A、B、C、D,每个学生只能选择一个景点请统计出最终哪个景点想去的人数最多。 分析 将80个学生选择的数据拿到程序中去。例如CCDAAACDADACADCACADCAA。。。 定义Map集合用于存储最终统计的结果。A30 B20 C20 D10  键是景点 值是选择的数量 遍历80个学生选择的数据看Map集合中是否存在不存在存入“数据1“存在则其对应值1。 public class MapTest1 {public static void main(String[] args) {// 1、把80个学生选择的数据拿进来。String[] selects {A , B, C, D};StringBuilder sb new StringBuilder();Random r new Random();for (int i 0; i 80; i) {sb.append(selects[r.nextInt(selects.length)]);}System.out.println(sb);// 2、定义一个Map集合记录最终统计的结果 A30 B20 C20 D10 键是景点 值是选择的数量MapCharacter, Integer infos new HashMap(); //// 3、遍历80个学生选择的数据for (int i 0; i sb.length(); i) {// 4、提取当前选择景点字符char ch sb.charAt(i);// 5、判断Map集合中是否存在这个键if(infos.containsKey(ch)){// 让其值 1infos.put(ch , infos.get(ch) 1);}else {// 说明此景点是第一次被选infos.put(ch , 1);}}// 4、输出集合System.out.println(infos);} } Map集合的实现类HashMap HashMap的特点 HashMap是Map里面的一个实现类。特点都是由键决定的无序、不重复、无索引 没有额外需要学习的特有方法直接使用Map里面的方法就可以了。 HashMap跟HashSet底层原理是一模一样的都是哈希表结构只是HashMap的每个元素包含两个值而已。 依赖hashCode方法和equals方法保证键的唯一。 如果键要存储的是自定义对象需要重写hashCode和equals方法。 基于哈希表增删改查的性能都较好。 实际上Set系列集合的底层就是Map实现的只是Set集合中的元素只要键数据不要值数据而已。 HashMap的添加规则 案例HashMap集合存储自定义对象并遍历 需求创建一个HashMap集合键是学生对象(Student)值是籍贯(String)。存储三个键值对元素并遍历 思路 定义学生类 创建HashMap集合对象 创建学生对象 把学生添加到集合 遍历集合 public class Student {private String name;private int age;private char sex;public Student() {}public Student(String name, int age, char sex) {this.name name;this.age age;this.sex sex;}public String getName() {return name;}public void setName(String name) {this.name name;}public int getAge() {return age;}public void setAge(int age) {this.age age;}public char getSex() {return sex;}public void setSex(char sex) {this.sex sex;}/**只要2个对象内容一样结果一定是true* param o* return*/Overridepublic boolean equals(Object o) {if (this o) return true;if (o null || getClass() ! o.getClass()) return false;Student student (Student) o;return age student.age sex student.sex Objects.equals(name, student.name);}/**s1 new Student(无恙, 20, 男)s2 new Student(无恙, 20, 男)s3 new Student(周雄, 21, 男)*/Overridepublic int hashCode() {return Objects.hash(name, age, sex);}Overridepublic String toString() {return Student{ name name \ , age age , sex sex };} } public class HashMapDemo1 {public static void main(String[] args) {// Map集合是根据键去除重复元素MapStudent, String maps new HashMap();Student s1 new Student(无恙, 20, 男);Student s2 new Student(无恙, 20, 男);Student s3 new Student(周雄, 21, 男);maps.put(s1, 北京);maps.put(s2, 上海);maps.put(s3, 广州);System.out.println(maps);} } Map集合的实现类LinkedHashMap 由键决定有序、不重复、无索引。 这里的有序指的是保证存储和取出的元素顺序一致 原理底层数据结构是依然哈希表只是每个键值对元素又额外的多了一个双链表的机制记录存储的顺序。 public class LinkedHashMapDemo2 {public static void main(String[] args) {// 1、创建一个Map集合对象MapString, Integer maps new LinkedHashMap();maps.put(鸿星尔克, 3);maps.put(Java, 1);maps.put(枸杞, 100);maps.put(Java, 100); // 覆盖前面的数据maps.put(null, null);System.out.println(maps);} } Map集合的实现类TreeMap 概述和特点 由键决定特性不重复、无索引、可排序 可排序按照键数据的大小默认升序有小到大排序。只能对键排序。 注意TreeMap集合是一定要排序的可以默认排序也可以将键按照指定的规则进行排序。 TreeMap跟TreeSet一样底层原理是一样的。 TreeMap集合自定义排序规则有2种 类实现Comparable接口重写比较规则。 集合自定义Comparator比较器对象重写比较规则。 案例 public class Apple implements ComparableApple{private String name;private String color;private double price;private int weight;public Apple() {}public Apple(String name, String color, double price, int weight) {this.name name;this.color color;this.price price;this.weight weight;}public String getName() {return name;}public void setName(String name) {this.name name;}public String getColor() {return color;}public void setColor(String color) {this.color color;}public double getPrice() {return price;}public void setPrice(double price) {this.price price;}public int getWeight() {return weight;}public void setWeight(int weight) {this.weight weight;}Overridepublic String toString() {return Apple{ name name \ , color color \ , price price , weight weight };}/**方式一类自定义比较规则o1.compareTo(o2)* param o* return*/Overridepublic int compareTo(Apple o) {// 按照重量进行比较的return this.weight - o.weight ; // 去重重量重复的元素// return this.weight - o.weight 0 ? 1 : -1; // 保留重量重复的元素} } public class TreeMapDemo3 {public static void main(String[] args) {MapInteger, String maps1 new TreeMap();maps1.put(13 , 王麻子);maps1.put(1 , 张三);maps1.put(3 , 县长);System.out.println(maps1);// TreeMap集合自带排序。 可排序 不重复只要比较方法的返回值为0就认为重复 无索引MapApple, String maps2 new TreeMap(new ComparatorApple() {Overridepublic int compare(Apple o1, Apple o2) {return Double.compare(o2.getPrice() , o1.getPrice()); // 按照价格降序排序}});maps2.put(new Apple(红富士, 红色, 9.9, 500), 山东 );maps2.put(new Apple(青苹果, 绿色, 15.9, 300), 广州);maps2.put(new Apple(绿苹果, 青色, 29.9, 400), 江西);maps2.put(new Apple(黄苹果, 黄色, 9.8, 500), 湖北);System.out.println(maps2);} } 集合的嵌套 Map集合案例-统计投票人数 需求 某个班级多名学生现在需要组成秋游活动班长提供了四个景点依次是A、B、C、D,每个学生可以选择多个景点请统计出最终哪个景点想去的人数最多。 分析 将80个学生选择的数据拿到程序中去需要记住每个学生选择的情况。 定义Map集合用于存储最终统计的结果。 public class MapTest4 {public static void main(String[] args) {// 1、要求程序记录每个学生选择的情况。// 使用一个Map集合存储。MapString, ListString data new HashMap();// 2、把学生选择的数据存入进去。ListString selects new ArrayList();Collections.addAll(selects, A, C);data.put(罗勇, selects);ListString selects1 new ArrayList();Collections.addAll(selects1, B, C , D);data.put(胡涛, selects1);ListString selects2 new ArrayList();Collections.addAll(selects2 , A, B, C , D);data.put(刘军, selects2);System.out.println(data);// 3、统计每个景点选择的人数。MapString, Integer infos new HashMap(); // {}// 4、提取所有人选择的景点的信息。CollectionListString values data.values();System.out.println(values);// values [[A, B, C, D], [B, C, D], [A, C]]// valuefor (ListString value : values) {for (String s : value) {// 有没有包含这个景点if(infos.containsKey(s)){infos.put(s, infos.get(s) 1);}else {infos.put(s , 1);}}}System.out.println(infos);} }
http://www.zqtcl.cn/news/699558/

相关文章:

  • 建设和优化网站的步骤wordpress 模板 含数据库
  • 太原制作网站的工作室wordpress弹幕播放器
  • 英语网站开发菏泽做网站优化的
  • 宜昌建设网站公司做网站语言服务器 空间
  • 湖南做网站价格广州网站建设哪家便宜
  • 建筑工程素材资源网站中山做网站建设联系电话
  • 做网站关键词集团网站群建设方案
  • 网站开发有哪些课程网站开发好要租服务器吗
  • 鲜花店网站建设的规模设想网站之间的差异
  • 网站怎么在百度做推广郑州建网站
  • 机关门户网站建设顺义做网站
  • 网站开发公司东莞环球军事头条
  • 企业网站管理系统添加教程如何用python开发网页
  • 公司网站建设需要资质wordpress admin
  • 万维网网站301重定向怎么做国家城乡建设规划部网站
  • 现在的网站内容区域做多宽俄文网站开发翻译
  • 上海闵行建设局官方网站做电影网站的流程
  • 怎样做水族馆网站wordpress第三方订阅地址
  • 东莞做网站注意事项如何查网站的百度快照
  • 做资源网站需要什么郑州哪有做网站的公司
  • 不属于网站架构开发一个游戏软件多少钱
  • 电子商务网站建设 市场分析广州有哪些做网站专业的公司
  • 广州网站建设南宁厦门城健建设有限公司网站
  • 课程网站开发的研究现状网页设计制作音乐网站
  • 建设工程法律网站网站美工做专题尺寸多少?
  • 甘肃制作网站godaddy wordpress空间
  • 做淘宝客网站要多少钱心理网站模板
  • 建设手机网站经验分享网站外链建设实例
  • 乔拓云网站注册外贸个人网站
  • 个人怎么做动漫短视频网站建设银行银监会官方网站