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

夫妻性做受视频什么网站广东最新消息

夫妻性做受视频什么网站,广东最新消息,南昌网络营销公司,网络营销与策划形考任务答案Map与Set的基本概念与场景 Map和set是一种专门用来进行搜索的容器或者数据结构,其搜索的效率与其具体的实例化子类有关。以前常见的搜索方式有: 1. 直接遍历,时间复杂度为O(N),元素如果比较多效率会非常慢。 2. 二分查找&#x…

Map与Set的基本概念与场景

Map和set是一种专门用来进行搜索的容器或者数据结构,其搜索的效率与其具体的实例化子类有关。以前常见的搜索方式有:

1. 直接遍历,时间复杂度为O(N),元素如果比较多效率会非常慢。
2. 二分查找,时间复杂度为O(\log _{2}^{N}),但搜索前必须要求序列是有序的。

上述排序比较适合静态类型的查找,即一般不会对区间进行插入和删除操作了,而现实中的查找比如:

1. 根据姓名查询考试成绩
2. 通讯录,即根据姓名查询联系方式
3. 不重复集合,即需要先搜索关键字是否已经在集合中

可能在查找时进行一些插入和删除的操作,即动态查找,那上述两种方式就不太适合了,本节介绍的Map和Set是一种适合动态查找的集合容器。

模型概念

一般把搜索的数据称为关键字(Key),和关键字对应的称为值(Value),将其称之为Key-value的键值对,所以模型会有两种:

  1. 纯 key 模型,例如:
  • 有一个英文词典,快速查找一个单词是否在词典中
  • 快速查找某个名字在不在通讯录中
  1. Key-Value 模型,例如:
  • 统计文件中每个单词出现的次数,统计结果是每个单词都有与其对应的次数:<单词,单词出现的次数>
  • 梁山好汉的江湖绰号:每个好汉都有自己的江湖绰号

Map接口的性质

在Java中,Map接口是一个用于存储键值对(key-value pairs)的对象,它属于Java Collections Framework的一部分。Map接口的主要特点包括:

  1. 键值对存储Map存储的数据是以键值对的形式组织的,每个键(key)唯一对应一个值(value)。可以通过键来快速获取对应的值。

  2. 无序性:大多数实现类(如HashMap)不会保证元素的顺序,除非使用特定的实现(如LinkedHashMap,它可以保持插入顺序,或者TreeMap,它会按照键的自然顺序或指定的比较器进行排序)。

  3. 键的唯一性:在同一个Map中,不能有重复的键。如果试图将一个新的值与已有的键关联,原有的值将被新值替换。

  4. 实现类:Java提供了多种Map接口的实现,例如:

    • HashMap:基于哈希表的实现,允许null值和null键,查找速度快。
    • TreeMap:基于红黑树的实现,支持排序的键,查找速度相对较慢。
    • LinkedHashMap:结合了HashMap的哈希表和链表特性,维护插入顺序。
  5. 常用方法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) {Map<String,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) {Map<String,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 对应的 value,key 不存在,返回默认值 

public class Main {public static void main(String[] args) {Map<String,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));}
}

 Set<K> keySet() :返回所有 key 的不重复集合,用 Set 容器接收

public class Main {public static void main(String[] args) {Map<String,Integer> map = new TreeMap<>();map.put("one",1);map.put("two",2);map.put("three",3);map.put("four",4);Set<String> strings = map.keySet();}
}

 

Collection<V> values() :返回所有 value 的可重复集合 ,用 Collection 容器接收

public class Main {public static void main(String[] args) {Map<String,Integer> map = new TreeMap<>();map.put("one",1);map.put("two",2);map.put("three",3);map.put("four",4);Collection<Integer> values = map.values();System.out.println("==");}
}

Set<Map.Entry<K, V>> entrySet() :返回所有的 key-value 映射关系 

public class Main {public static void main(String[] args) {Map<String,Integer> map = new TreeMap<>();map.put("one",1);map.put("two",2);map.put("three",3);map.put("four",4);Set<Map.Entry<String, Integer>> entries = map.entrySet();for (Map.Entry<String, Integer> entry : entries) {System.out.println("Key = "+entry.getKey()+" Val = "+entry.getValue());}}
}

注意: 

  1. Map是一个接口,不能直接实例化对象,如果要实例化对象只能实例化其实现类TreeMap或者HashMap
  2. Map中存放键值对的Key是唯一的,value是可以重复的
  3. 在TreeMap中插入键值对时,key不能为空,否则就会抛NullPointerException异常,value可以为空。但是HashMap的key和value都可以为空。
  4. Map中的Key可以全部分离出来,存储到Set中来进行访问(因为Key不能重复)。
  5.  Map中的value可以全部分离出来,存储在Collection的任何一个子集合中(value可能有重复)。
  6. Map中键值对的Key不能直接修改,value可以修改,如果要修改key,只能先将该key删除掉,然后再来进行重新插入。

Set接口的性质

在Java中,Set接口是一个用于存储唯一元素的集合,它也是Java Collections Framework的一部分。Set接口的主要特点包括:

  1. 唯一性Set中不允许重复的元素,这意味着集合中的每个元素都是唯一的。如果试图添加重复元素,操作将被拒绝,集合的状态不会改变。

  2. 无序性Set通常不保证元素的顺序。尤其是使用HashSet时,元素的存储顺序是随机的。而LinkedHashSet可以维护元素的插入顺序,TreeSet则会按自然顺序或自定义的比较器进行排序。

  3. 实现类:Java提供了多种Set接口的实现,包括:

    • HashSet:基于哈希表的实现,允许null元素,查找速度快,但不保证元素的顺序。
    • LinkedHashSet:结合了哈希表和链表的特性,保持元素的插入顺序。
    • TreeSet:基于红黑树的实现,按升序排序元素,不允许null值。
  4. 常用方法Set接口提供了一系列的方法,例如:

    • add(E e):向集合中添加元素,如果元素已存在,则返回false。
    • remove(Object o):移除指定元素。
    • contains(Object o):检查集合中是否包含指定元素。
    • size():返回集合中元素的数量。
    • clear():移除集合中的所有元素。
    • iterator():返回一个迭代器,用于遍历集合中的元素。
  5. 应用场景Set常用于需要存储不重复元素的场景,比如去重、集合运算(如交集、并集和差集)等。

总之,Set接口是Java中重要的数据结构,适合用于处理唯一性要求的数据集合,具有高效的存储和检索特性。

Set接口的使用方法

set 接口中的方法和 Map 接口中的常见方法大差不差,就不一 一介绍了。

import java.util.TreeSet;
import java.util.Iterator;
import java.util.Set;
public static void TestSet(){Set<String> 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);Iterator<String> it = s.iterator();while(it.hasNext()){System.out.print(it.next() + " ");}System.out.println();
}

http://www.hkea.cn/news/665833/

相关文章:

  • 青羊区定制网站建设报价搜索引擎营销方案
  • 淘宝优惠券查询网站怎么做域名备案官网
  • wordpress自定义url优化教程网下载
  • 模板网站和定制网站百度搜索引擎的网址
  • 企业建设网站公司哪家好app拉新推广接单平台
  • 老虎淘客系统可以做网站吗江西省水文监测中心
  • 高港区企业网站建设快速建站教程
  • 怎样写企业网站建设方案北京网站seo招聘
  • 做蛋糕视频的网站软文广告范文
  • h5自适应网站模板下载网站换友链平台
  • 政府网站建设及管理规范各大搜索引擎入口
  • poedit pro wordpress免费网站推广优化
  • 市场营销产品推广策划方案seo合作代理
  • 东莞专业网站建设推广搜索引擎网络排名
  • 服务器做网站用什么环境好销售营销方案100例
  • 如何做DJ网站英文seo外链
  • 网站统计源码下载百度推广的步骤
  • 本地网站建设seo推广的方法
  • 东莞好的网站建设效果seo和sem分别是什么
  • 最新版wordpress背景手机网络优化软件
  • 丛台企业做网站推广免费建一级域名网站
  • 集宁网站建设免费网站推广网站破解版
  • 网站建设域名的购买有域名和服务器怎么建网站
  • 深圳有什么网站长沙百度seo
  • 台州企业网站模板建站怎么在百度上做公司网页
  • 烟台网站建设联系企汇互联专业网站维护收费标准
  • 网络客户服务平台搜索优化推广公司
  • 建设网站技术方案线上教育培训机构十大排名
  • 沈阳人流seo优化师就业前景
  • 开发区网站制作公司seo关键词有话要多少钱