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

如何做网站服务手机电脑网站建设短视频

如何做网站服务,手机电脑网站建设短视频,小程序助手公众平台,中山网站建设工作Map与Set的基本概念与场景 Map和set是一种专门用来进行搜索的容器或者数据结构#xff0c;其搜索的效率与其具体的实例化子类有关。以前常见的搜索方式有#xff1a; 1. 直接遍历#xff0c;时间复杂度为O(N)#xff0c;元素如果比较多效率会非常慢。 2. 二分查找#x…Map与Set的基本概念与场景 Map和set是一种专门用来进行搜索的容器或者数据结构其搜索的效率与其具体的实例化子类有关。以前常见的搜索方式有 1. 直接遍历时间复杂度为O(N)元素如果比较多效率会非常慢。 2. 二分查找时间复杂度为,但搜索前必须要求序列是有序的。 上述排序比较适合静态类型的查找即一般不会对区间进行插入和删除操作了而现实中的查找比如 1. 根据姓名查询考试成绩 2. 通讯录即根据姓名查询联系方式 3. 不重复集合即需要先搜索关键字是否已经在集合中 可能在查找时进行一些插入和删除的操作即动态查找那上述两种方式就不太适合了本节介绍的Map和Set是一种适合动态查找的集合容器。 模型概念 一般把搜索的数据称为关键字Key和关键字对应的称为值Value将其称之为Key-value的键值对所以模型会有两种 纯 key 模型例如 有一个英文词典快速查找一个单词是否在词典中快速查找某个名字在不在通讯录中 Key-Value 模型例如 统计文件中每个单词出现的次数统计结果是每个单词都有与其对应的次数单词单词出现的次数梁山好汉的江湖绰号每个好汉都有自己的江湖绰号 Map接口的性质 在Java中Map接口是一个用于存储键值对key-value pairs的对象它属于Java Collections Framework的一部分。Map接口的主要特点包括 键值对存储Map存储的数据是以键值对的形式组织的每个键key唯一对应一个值value。可以通过键来快速获取对应的值。 无序性大多数实现类如HashMap不会保证元素的顺序除非使用特定的实现如LinkedHashMap它可以保持插入顺序或者TreeMap它会按照键的自然顺序或指定的比较器进行排序。 键的唯一性在同一个Map中不能有重复的键。如果试图将一个新的值与已有的键关联原有的值将被新值替换。 实现类Java提供了多种Map接口的实现例如 HashMap基于哈希表的实现允许null值和null键查找速度快。TreeMap基于红黑树的实现支持排序的键查找速度相对较慢。LinkedHashMap结合了HashMap的哈希表和链表特性维护插入顺序。 常用方法Map接口提供了一系列的方法例如 put(K key, V value)将指定的值与指定的键关联。get(Object key)返回指定键所映射的值。remove(Object key)移除指定键的键值对。containsKey(Object key)检查是否存在指定的键。keySet()返回Map中所有键的集合。values()返回Map中所有值的集合。 总之Map接口是Java中重要的数据结构之一方便有效地进行数据的存储和检索广泛应用于各种场景中。 Map接口的使用方法 put(K key, V value)将指定的值与指定的键关联。 public class Main {public static void main(String[] args) {MapString,Integer map new TreeMap();map.put(one,1);map.put(two,2);map.put(three,3);map.put(four,4);} } get(Object key)返回指定键所映射的值。 public class Main {public static void main(String[] args) {MapString,Integer map new TreeMap();map.put(one,1);map.put(two,2);map.put(three,3);map.put(four,4);System.out.println(map.get(two));} } V getOrDefault(Object key, V defaultValue) 返回 key 对应的 valuekey 不存在返回默认值  public class Main {public static void main(String[] args) {MapString,Integer map new TreeMap();map.put(one,1);map.put(two,2);map.put(three,3);map.put(four,4);System.out.println(map.getOrDefault(five,-1));} } SetK keySet() 返回所有 key 的不重复集合用 Set 容器接收 public class Main {public static void main(String[] args) {MapString,Integer map new TreeMap();map.put(one,1);map.put(two,2);map.put(three,3);map.put(four,4);SetString strings map.keySet();} } CollectionV values() 返回所有 value 的可重复集合 用 Collection 容器接收 public class Main {public static void main(String[] args) {MapString,Integer map new TreeMap();map.put(one,1);map.put(two,2);map.put(three,3);map.put(four,4);CollectionInteger values map.values();System.out.println();} } SetMap.EntryK, V entrySet() 返回所有的 key-value 映射关系  public class Main {public static void main(String[] args) {MapString,Integer map new TreeMap();map.put(one,1);map.put(two,2);map.put(three,3);map.put(four,4);SetMap.EntryString, Integer entries map.entrySet();for (Map.EntryString, Integer entry : entries) {System.out.println(Key entry.getKey() Val entry.getValue());}} } 注意  Map是一个接口不能直接实例化对象如果要实例化对象只能实例化其实现类TreeMap或者HashMapMap中存放键值对的Key是唯一的value是可以重复的在TreeMap中插入键值对时key不能为空否则就会抛NullPointerException异常value可以为空。但是HashMap的key和value都可以为空。Map中的Key可以全部分离出来存储到Set中来进行访问(因为Key不能重复)。 Map中的value可以全部分离出来存储在Collection的任何一个子集合中(value可能有重复)。Map中键值对的Key不能直接修改value可以修改如果要修改key只能先将该key删除掉然后再来进行重新插入。 Set接口的性质 在Java中Set接口是一个用于存储唯一元素的集合它也是Java Collections Framework的一部分。Set接口的主要特点包括 唯一性Set中不允许重复的元素这意味着集合中的每个元素都是唯一的。如果试图添加重复元素操作将被拒绝集合的状态不会改变。 无序性Set通常不保证元素的顺序。尤其是使用HashSet时元素的存储顺序是随机的。而LinkedHashSet可以维护元素的插入顺序TreeSet则会按自然顺序或自定义的比较器进行排序。 实现类Java提供了多种Set接口的实现包括 HashSet基于哈希表的实现允许null元素查找速度快但不保证元素的顺序。LinkedHashSet结合了哈希表和链表的特性保持元素的插入顺序。TreeSet基于红黑树的实现按升序排序元素不允许null值。 常用方法Set接口提供了一系列的方法例如 add(E e)向集合中添加元素如果元素已存在则返回false。remove(Object o)移除指定元素。contains(Object o)检查集合中是否包含指定元素。size()返回集合中元素的数量。clear()移除集合中的所有元素。iterator()返回一个迭代器用于遍历集合中的元素。 应用场景Set常用于需要存储不重复元素的场景比如去重、集合运算如交集、并集和差集等。 总之Set接口是Java中重要的数据结构适合用于处理唯一性要求的数据集合具有高效的存储和检索特性。 Set接口的使用方法 set 接口中的方法和 Map 接口中的常见方法大差不差就不一 一介绍了。 import java.util.TreeSet; import java.util.Iterator; import java.util.Set; public static void TestSet(){SetString s new TreeSet();// add(key): 如果key不存在则插入返回ture// 如果key存在返回falseboolean isIn s.add(apple);s.add(orange);s.add(peach);s.add(banana);System.out.println(s.size());System.out.println(s); isIn s.add(apple);// add(key): key如果是空抛出空指针异常//s.add(null);// contains(key): 如果key存在返回true否则返回falseSystem.out.println(s.contains(apple));System.out.println(s.contains(watermelen));// remove(key): key存在删除成功返回true//             key不存在删除失败返回false//             key为空抛出空指针异常s.remove(apple);System.out.println(s);s.remove(watermelen);System.out.println(s);IteratorString it s.iterator();while(it.hasNext()){System.out.print(it.next() );}System.out.println(); }
http://www.sczhlp.com/news/179866/

相关文章:

  • 瑞安网站设计嘉定企业网站开发建设
  • 广州网站优化推荐十大后悔专业排行榜
  • 南昌网站建设利润鞍山在百度做个网站多少钱
  • 购物网站平台建设网站建设开票的税收分类
  • 网站seo推广计划大气装饰公司网站源码
  • 杂题选做
  • kettle插件-国产数据库瀚高插件,助力国产数据库腾飞
  • 利用旋钮控制小灯亮度
  • 长业建设集团有限公司网站网站建设属于哪个税目
  • 嘉兴做网站建设wordpress 搜索栏js
  • 深圳市光明建设发展集团网站福田公司成立时间
  • 公司注册后怎么做网站国内网站设计公司
  • 合肥大型网站开发公司南昌h5建站
  • 做cps的网络文学网站文化创意有限公司
  • html5手机网站源码公众号wordpress同步
  • 萝卜建站下载怎么做正规网站
  • 微信网站建设模板wordpress如何vip
  • 住房建设局子网站南昌建站模板
  • 网站制作费用要多少钱西安做服务器的公司
  • 全网门户网站制做网站icp备案号怎么查询
  • 电脑网站上的电影怎么下载如何做盗版视频网站
  • 晋城企业网站建设网站建设合同书缴纳印花税吗
  • 网站域名备案在阿里云怎么做网站建设需求分析酒类
  • 专业网站优化电话作图工具
  • 卖模板的网站友情链接网站免费
  • 随州哪里学做网站网站建设技术参数
  • dedecms 网站首页标签开源阅读app
  • 北京市建设厅官方网站那些网站是伪静态
  • 帝国cms调用网站地址公众号怎么制作教程
  • 免费网站开发合同范本提供建议的网站模板