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

昌网站建设商丘做网站的费用

昌网站建设,商丘做网站的费用,同步网站内容怎么做,html欧美网站模板个人主页#xff1a;♡喜欢做梦 欢迎 #x1f44d;点赞 ➕关注 ❤️收藏 #x1f4ac;评论 目录 #x1f370;一、搜索 #x1f36e;1.概念 #x1f36e;2.模型 #x1f370;二、Map #x1f368;1.什么是Map#xff1f; #x1f368;2.Map的实例化 ♡喜欢做梦 欢迎  点赞  ➕关注  ❤️收藏  评论 目录 一、搜索 1.概念 2.模型 二、Map 1.什么是Map 2.Map的实例化 3.Map的常见方法 4.Map方法的使用 三、Set 1.什么是Set 2.Set的常见方法 3.Set方法的使用 四、Map和Set的区别 一、搜索 1.概念 搜索是指在数据集合过程中查找特定元素或满足特定条件元素的过程。如在一组数组中查找特定的数字。常见的搜索有直接遍历和二分查找..... 直接遍历和二分查找比较适合静态类型的查找即一般不会对区间进行插入和删除操作。 所以当需要动态查找时即查找时要进行一些插入和删除上述的方法并不适用 。如在学生系统中快速查找学生的成绩、统计单词出现的次数、确保用户名唯一去重。 Map和Set是一种专门用来进行搜索的容器或者数据结构是一种适合动态查找的集合容器。 2.模型 一般把搜索的数据称为关键字key和关键字对应的称为值value所以有两种模型 1.纯key模型由唯一的键key组成没有与键直接关联的特定值value。 特点重点在于对键的管理和操作常用于判断某个元素是否存在。 应用场景数据去重黑名单过滤等...... 2.key-value模型是一种键key和值value进行相关联的数据组织形式。每个键都对应着一个特定的值通过键可以快速查找、更新与之关联的值。如查找在一串字符串中查找某个单词在该字符串中出现的次数。 特点键是唯一的用于快速定位和访问对应的值其值可以是各种类型的数据。 应用场景广泛应用于配置文件、数据库等比如以用户ID为键存储用户姓名等为值。 Set只存储了keyMap存储的就是key—value的键对值。 二、Map 1.什么是Map Map是接口类该类没有继承Collection储存的是K,V结构的键值对并且K一定是唯一的不能重复。 2.Map的实例化 MapKV是将键key与值value进行关联的数据结构K代表键的类型V代表值的类型。 Map的实现类主要有HashMap,TreeMap 实例化的实现 public static void main(String[] args) {MapString,Integer map1new HashMap();MapString,Integer map2new TreeMap();} Map是一个接口不能直接实例化对象如果要实例化对象只能通过其实现类TreeMap或者HashMap来实现 3.Map的常见方法 方法解释V putK key,V value 设置key值与value值相关联 V removeObject key将key对应的映射关系删除V removeObject key,Object value只有指定的键与指定的值相匹配时才可以删除V getObject key返回key对应的value值V getOrDefaultObject keyV defalutValue返回key对应的valuekey不存在返回默认值 SetK keySet 返回key中的不重复集合 CollectionV values 返回value的可重复集合SetMap.EntryK,V entrySet返回所有的key-value的映射关系boolean containsKeyObject key判断是否包含keyboolean containsValueObject value判断是否包含value 4.Map方法的使用 public static void main(String[] args) {MapString,Integer mapnew HashMap();//map设置k,v值map.put(a,2);map.put(c,5);map.put(s,21);//get获取key对应的value值System.out.println(map.get(a));//2System.out.println(map.get(b));//不存在key值其默认值为null//getOrDefault//如果map中有key值返回key对应的value1值否则返回设置的默认值System.out.println(map.getOrDefault(a,1));//2System.out.println(map.getOrDefault(b,3));//3//remove1如果key值与指定的值相匹配删除否则不删除map.remove(a,1);//不匹配不删除System.out.println(map.get(a));//a对应的value还是2//remove2删除key对应的value值map.remove(a);System.out.println(map.get(a));//null//containsKey:判断是否包含keySystem.out.println(map.containsKey(c));//true//containsValue:判断是否包含value值System.out.println(map.containsValue(10));//falseMapString,Integer map1new TreeMap();map1.put(a,2);map1.put(a,3);map1.put(b,3);map1.put(c,6);//SetK keySet:返回key中不重复的集合SetString keySetmap1.keySet();System.out.println(keySet);//[a, b, c]//CollectionV values:返回value中可重复的集合CollectionInteger valuemap1.values();System.out.println(value);//[3, 3, 6]//SetK,V entrySet:返回key-value所有的映射关系SetMap.EntryString,Integer entrySetmap1.entrySet();System.out.println(entrySet);//[a3, b3, c6]} 注意事项 Map中存放键值对的Key是唯一的value是可重复的当put相同的key不同的value值时只是将key所对应的value值进行替换以最后存放的value为主  public static void main(String[] args) {MapString,Integer mapnew HashMap();map.put(a,11);map.put(a,24);map.put(a,15);System.out.println(map.get(a));//15 } 在HashMap中存放的key和value可以都为空在TreeMap中插入键对值时key不能为空value可以为空 HashMap public static void main(String[] args) {MapString,Integer map1new HashMap();map1.put(a,null);map1.get(a);//无异常map1.put(null,null);map1.get(null);//无异常}  TreeMap public static void main(String[] args) {MapString,Integer map1new TreeMap();map1.put(a,null);map1.get(a);//无异常map1.put(null,2);map1.get(null);//报错} Map中键值对的key不能直接修改可以直接修改value值如果要修改key只能将key删除在进行重新插入。 HashMap和TreeMap是Map的接口实现类用于存储键对值数据以下是他们的区别 Map的底层结构TreeMapHashMap底层结构红黑树哈希表数组链表/红黑树插入/删除/查找时间复杂度Olog2NO1是否有序关于Key有序无序允许null键不允许需可比较允许null键线程安全不安全不安全插入/删除/查找区别需要进行元素比较通过哈希函数计算哈希地址比较与覆写key必须能够比较否则会抛出异常自定义类型需要覆写equals和hashCode方法应用场景需要key有序无序有序需要更高的时间性能 三、Set 1.什么是Set Set是一个接口继承自Collection接口有HashSet、TreeSet等实现类HashSet基于哈希表实现不保证元素有序TreeSet基于红黑树实现会对元素进行排序。 2.Set的常见方法 方法解释boolean addE e添加元素但元素重复不添加boolean removeObject o删除集合中元素oboolean containsObject o判断o是否包含在集合中boolean isEmpty检测是否为空为空返回false否则返回truevoid clear清空IteratorE iterator使用迭代器遍历集合中的对象int size返回set中元素个数Object[] toArray将set中的元素转换为数组返回boolean containsAllCollection?c集合中的元素是否在set中的全部存在是返回true否则返回falseboolean addAllCollection? extend将集合c中的元素添加到set中可以达到去重的效果 3.Set方法的使用 public static void main(String[] args) {public static void main(String[] args) {SetInteger set1new HashSet();//add添加元素set1.add(5);set1.add(20);set1.add(15);set1.add(8);//remove:移除元素set1.remove(20);//是否包含该元素System.out.println(set1.contains(5));//trueSystem.out.println(set1.contains(2));//false//Iterator:遍历集合IteratorInteger iteratorset1.iterator();while(iterator.hasNext()){System.out.print(iterator.next() );//5 8 15}System.out.println();//isEmpty判断是否为空System.out.println(set1.isEmpty());//false不为空//size:计算元素个数System.out.println(set1.size());//3//toArray将set中的元素转换为数组Integer[] toArrayset1.toArray(new Integer[0]);for (Integer x:toArray) {System.out.print(x );//5 8 15}System.out.println();//containsAll:set是否包含指定集合的所有元素SetInteger set2new HashSet();set2.add(1);set2.add(2);set2.add(3);SetInteger set3new HashSet();set3.add(1);set3.add(2);//看set2中是否都包含set3集合中的元素boolean containsAllset2.containsAll(set3);System.out.println(containsAll);//true//addAll将集合中的元素添加到set中SetInteger set4new TreeSet();set4.add(1);set4.add(5);set4.add(19);SetInteger set5new TreeSet();set5.add(2);set5.add(1);set5.add(6);boolean addAllset4.addAll(set5);IteratorInteger iterator1set4.iterator();while(iterator1.hasNext()){//如果是HashSet那么不自动排序如果是TreeSet就自动排序System.out.print(iterator1.next() );//1 2 5 6 19} 注意 Set只存储了key并且要求key一定要唯一其key值不能进行修改如果要进行修改需要删除后再插入。Set可以对集合进行去重TreeSet的底层是使用Map来实现的其使用key与Object的一个默认对象作为键值对插入到Map中TreeSet和HashSet的区别 Set底层结构TreeSetHashSet底层结构红黑树哈希表插入/删除/查找时间复杂度Olog2NO1是否有序key有序不一定有序允许null键不允许需可比较允许null键线程安全不安全不安全插入/删除/查找区别按照红黑树的特性来进行插入和删除1.先计算key哈希地址2.然后进行插入和删除比较与覆写key必须能够比较否则会抛出ClassCastException异常 自定义类型需要覆写equals和hashCode方法 应用场景需要key有序无关有序需要更高的时间性能 四、Map和Set的区别 区别MapSet存储形式是一种键对值key-value集合是值的集合值存在单一的值不存在重复元素访问方式getkey方法没有键对值的映射一般通过for循环或者迭代器遍历唯一性键是唯一的不用重复值可以重复所有元素都是唯一的应用场景需要建立映射关系的场景需要确保元素唯一的场景
http://www.w-s-a.com/news/373499/

相关文章:

  • 网站怎么自己做外贸网站案例
  • 做网站的优势公司网站怎么做站外链接
  • 海城网站制作建设精准营销的营销方式
  • 北京短视频拍摄公司重庆网站seo推广公司
  • 广州免费推广网站建设4399网页游戏大全
  • 网站的构架与组成建站公司兴田德润
  • php网站部署步骤邯郸哪有做网站的
  • 做设计什么设计比较好的网站南充市住房和城乡建设局考试网站
  • 郑州做系统集成的公司网站龙岩
  • 厦门SEO_厦门网站建设网络营销课程视频
  • vs 2015 网站开发开网店在线咨询
  • 前端如何优化网站性能大学学校类网站设计
  • 中国铁路建设投资公司网站熊学军中国it外包公司排名前50
  • 房产网站的建设广州推广排名
  • 湟源县网站建设wordpress删除未分类
  • 营销型网站开发推广厦门百度seo公司
  • 遵义网站开发培训上海中高风险地区名单最新
  • 禹州市门户网站建设做网站可以申请个体户么
  • 大良营销网站建设效果彩票网站搭建 做网站
  • 做网站的公司为什么人少了在中国如何推广外贸平台
  • 盘锦网站制作工业电商网站怎么配色
  • 白云企业网站建设seo排名点击软件
  • wordpress跨站脚本攻击漏洞国外注册的域名国内能用吗
  • 西部数码网站管理助手2工信部资质查询网站
  • 公司网站哪个建的好吉林网站制作
  • 视频网站怎么引流wordpress私人玩物
  • 我的家乡湛江网站设计新钥匙网站建设
  • 辽宁网站推广爱前端wordpress5.0.3主题
  • python怎么做网站贵阳网站制作
  • 深圳网站的优化seo网络推广有哪些