首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

各大厂都在考的 Java 集合知识点总结,不来看看???

只能是对象(基本数据类型要转换为封装类),而且可以保存 key-value 数据 3....Set 视图 boolean equals(Object o) 比较指定的对象与此映射是否相等 V get(Objcet key) 返回指定建所映射的值;若该映射不含该键的映射关系,则返回 null...int hashCode() 返回映射的 hash 值 boolean isEmpty() 若映射为包含 key-value 映射关系,则返回 true Set keySet() 返回映射中包含的键的...Set 视图 V put(K key, V value) 将指定的值与此映射中的指定键关联 void putAll(Map<?...,唯一可以返回子树的 Map(subMap()) 红-黑树 WeakHashMap 弱键映射,映射之外无引用的键,可以被垃圾回收 散列表 ConcurrentHashMap 线程安全的 Map 链表 IdentityHashMap

3.9K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Clojure 学习入门(18)—— 数据类型

    实际上,映射十分简单。它存储一个键-值对的集合。键和值都可以是任何数据类型的对象,无论是基本数据类型还是其它映射。然而,使用关键字来作为映射的键非常合适,因此它们经常在应用映射的场合被使用。...关键字、字符串和数字都经常被用作映射的键。 与向量类似,映射是它们的键的函数(不过如果给定的键不存在,它们不会抛出异常)。要得到一个特定键对应的值,只要使用该映射最为函数,并将键作为参数传递给它。...它们分别使用数组、哈希表和二叉树来作为底层实现。数组映射最适用于较小的映射,而对哈希映射和有序映射的比较则要基于特定应用场合的情况。...编程时,连接键和值是一个很常见的操作。然而,映射的可用性远远不止于我们所认为它只是一个数据结构的那样。 一个很重要的例子是,结构可以做到面向对象编程中的对象90%能做的事。...那么对象中命名的属性和映射里的键/值对到底有什么不同之处呢?像Javascript这种语言(对象是用映射实现的)表示,没有什么不同。 好的Clojure程序大量使用这种映射即是对象的观点。

    2.3K10

    计算机二级Python考点解析11

    因此映射类型是键值对的集合,也存在无序性,通过键我们可以找出该键对应的值,换一个角度来讲,键代表着一个属性,值则代表着这个属性代表的内容。 第二部分:列表类型:定义、索引、切片。...里返回true,否则返回false 6 radiansdict.items()以列表返回可遍历的(键, 值) 元组数组 7 radiansdict.keys()返回一个迭代器,可以使用 list() 来转换为列表...8 radiansdict.setdefault(key, default=None)和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default 9 radiansdict.update...(dict2)把字典dict2的键/值对更新到dict里 10 radiansdict.values()返回一个迭代器,可以使用 list() 来转换为列表 11 pop(key[,default])删除字典给定键...key值必须给出。 否则,返回default值。 12 popitem()随机返回并删除字典中的一对键和值(一般删除末尾对)。

    1.1K10

    SqlAlchemy 2.0 中文文档(三十一)

    method setdefault(*arg) 如果字典中没有键,则将键插入并将其值设置为默认值。 如果字典中存在键,则返回键的值,否则返回默认值。...MutableList对象实现了一个列表,在修改列表内容时会向底层映射发出更改事件,包括添加或删除值时。 注意MutableList不会对列表内部的值本身应用可变跟踪。...weakref.WeakKeyDictionary,它存储了父映射对象的映射,键为它们与该值相关联的属性名。...weakref.WeakKeyDictionary,该字典存储父映射对象的映射,以属性名称为键,这些父映射对象与该值相关联。...在拦截InstanceEvents.refresh()和InstanceEvents.refresh_flush()事件时,会查询此集合,这些事件会传递一个已刷新的属性名称列表;该列表将与此集合进行比较

    44420

    Python 的数据结构

    而这里 key 参数对应的 lambda 表达式的意思则是选取元组中的第二个元素作为比较参数(如果写作 key=lambda item:item[0] 的话则是选取第一个元素作为比较对象,也就是key值作为比较对象...它更为常见的名字是哈希映射或关联数组。它是键值对的大小可变集合,键和键值都是 Python 对象。创建字典的方法之一是使用尖括号,用冒号分割键和键值。...可以像访问列表或元组中的元素一样,访问、插入或设定字典中的元素; 可以用检查列表和元组是否包含某个值的方法,检查字典中是否包含某个键; 可以用 del 关键字或 pop 方法(返回值的同时删除键)删除值...; keys 和 values 是字典的键和值的迭代器方法。...可以用hash函数检测一个对象是否是可哈希的(可被用作字典的键): 要用列表当做键,一种方法是将列表转化为元组,只要内部元素可以被哈希,它也就可以被哈希: # 将列表转换为元组 dicts = {}

    3.2K20

    Java之HashMap详解

    散列表(Hash table,也叫哈希表) 是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。...这个映射函数叫做散列函数,存放记录的数组叫做散列表。 HashMap实现原理 ? HashMap主要是以数组和链表实现的。...每个列表被称为桶要想査找表中对象的位置, 就要先计算它的散列码, 然后与桶的总数取余, 所得到的结果就是保存这个元素的桶的索引。 解释:hashmap是以一个数组和链表储存的。...这种现象被称为散列冲突( hashcollision) o 这时, 需要用新对象与桶中的所有对象进行比较,査看这个对象是否已经存在。...HashMap常用方法 size() 返回此映射中的键-值映射关系数。 put(K key, V value) 在此映射中关联指定值与指定键。

    1.5K20

    Groovy-6.对象

    compareTo() 比较两个数字的值 equals() 比较两个数字的对象 valueOf() 返回参数的值得Number对象 toString() 返回Number对象的值得String对象 parseXxx...返回指定double值的反正切值值 atan2() 将直角坐标(x,y)转换为极坐标(r, theta)并返回theta toDegrees() 将参数值转换为度 radiant() 将参数值转换为弧度...列表对象 列表用方括号包裹,用逗号隔开 [11,12,13,14] - 整数值列表 ['Angular','Groovy','Java'] - 字符串列表 [1,2,[3,4],5] - 嵌套列表 ['...reverse() 列表倒置 int size() 获得列表长度 List sort() 列表排序 5.映射 Map(映射,关联数组,字典,表,三列)是对象引用的无序集合。...Map中的元素由键访问。 ['TopicName':'Lists','TopicName':'Maps'] - 具有TopicName作为键的键值对的集合及其相应的值。 [:] - 空映射。

    1.5K30

    redis python

    在默认不传的情况下,这4个参数分别为localhost、6379、0和None。首先声明了一个StrictRedis对象,接下来调用set()方法,设置一个键值对,然后将其获取并打印。...', ['tags', 'tags2']) 求键为tags的集合和键为tags2的集合的交集并将其保存为inttag 1 sunion(keys, *args) 返回所有给定键的集合的并集 keys:键列表...tags的集合和键为tags2的集合的并集并将其保存为inttag 3 sdiff(keys, *args) 返回所有给定键的集合的差集 keys:键列表 redis.sdiff(['tags', 'tags2...;keys:键列表 redis.sdiffstore('inttag', ['tags', 'tags2']) 求键为tags的集合和键为tags2的集合的差集并将其保存为inttag` 3 smembers...']) 获取键为price的散列表中apple和orange的值 [b'3', b'7'] hmset(name, mapping) 向键为name的散列表中批量添加映射 name:键名;mapping

    58820

    13.2 具体的集合

    Map(映射):集合中的每一个元素包含一对键对象和值对象,集合中没有重复的键对象,值对象可以重复。他的有些实现类能对集合中的键对象进行排序。 ?...通常,我们知道某些键的信息,并想要查找与之对应的元素。映射表(map)数据结构就是为此设计的。映射表用来存放键/值对。如果提供键。就能够查到值。例如,键为员工ID,值为Employee对象。   ...Java类库为映射表提供了两个通用的实现:HashMap和TreeMap,这两个类都实现了Map接口。   散列映射表对键进行散列,树映射表用键的整体顺序对元素进行排序,并将其组织成搜索树。...散列或比较函数只能作用于键。与键关联的值不能进行散列或比较。 与集一样,散列稍微快一些,如果不需要按照排列顺序访问键,就最好选用散列。   每当往映射表中添加对象的时候,必须同时提供一个键。...,然后从映射表中删除掉一个键值对,接下来修改某一个键对应的值,并调用get方法查看这个值。

    1.8K90

    字典

    2.3在字典中,想存储多少个键-值对都可以。 首先定义一个字典,然后从这个字典中获取与键'points'相关联的值。并将这个值存储在变量new_points中。...将这个整数转换为字符串,并打印一条消息。 ? 输出: ? 3.添加键-值对 字典是一种动态结构,可随时在其中添加键-值对。要添加键-值对,可依次指定字典名、用方括号括起的键和相关联的值。 ?...7.由类似对象组成的字典 字典存储的是一个对象的多种信息。确定使用多行来定义字典时,在输入左括号后按回车键,再在下一行缩进四个空格,指定第一个键-值对,并在它后面加上一个逗号。...1.遍历所有的键-值对 使用一个for循环来遍历这个字典。 声明两个变量,用于存储键-值对中的键和值。for语句的第二部分包含字典名和方法items(),它返回一个键-值对列表。...2.3在循环中,使用当前键来访问与之相关联的值。 为访问喜欢的语言,我们使用了字典名,并将变量name的当前值作为键。 ? 输出: ? 2.4使用keys()确定某个人是否在字典中。

    3.4K10

    深度剖析Python字典和集合

    在函数的关键字参数、实例的属性和模块的命名空间都能够看到它的身影,我们自己写代码时也经常会用到。 “集合”这个概念在Python中算是比较年轻的,使用率也比较低,我只在元素去重和求差集并集时使用过。...另外可散列对象还要有__eq__()方法,这样才能跟其他键做比较。如果两个可散列对象是相等的,那么它们的散列值一定是一样的。” 重点是散列值不变!...如果两个对象在比较的时候是相等的,那么它们的散列值必须相等,否则散列表就不能正常运行了: >>> a = 1 >>> b = 1 >>> a == b True >>> hash(a) 1 >>> hash...小结 本文介绍了字典和集合,包含了一些Python骚操作,也用示例解释了什么是鸭子类型,重点揭秘了散列表的原理,正是由于散列表的支撑,dict和set的查询效率非常高,代价是空间换时间,内容占用也比较大...散列表也给dict和set带来了限制,比如dict键的次序取决于添加顺序,往字典里添加新键可能会改变已有键的顺序等。

    1.6K00

    散列函数:设计思路与具体代码实现

    这样可以保证散列表(Hash Table)中的数据分布相对均匀,提高查找效率。 唯一性:散列函数应该将不同的输入映射为不同的输出,即使输入具有小的变化。这样可以保证每个键在散列表中的位置独立且唯一。...这个简单的散列函数使用了ASCII码将输入字符串中的每个字符转换为对应的整数,并将它们相加,最后取模以限制散列值的范围。 该散列函数的输出范围是0到999之间的整数。...散列表使用散列函数来将键映射到存储桶,并通过散列码来快速查找和访问数据。散列函数的设计对于散列表的性能和冲突率有重要影响。 唯一标识生成:散列函数可用于生成独一无二的标识符或密钥。...接收方可以计算接收到的数据的散列值,并与预期的散列值进行比较,以检查数据是否被修改。 文件或字符串的重复检测:散列函数可以用于快速检测文件或字符串的重复。...通过计算文件内容或字符串的散列值,并将其与已有数据进行对比,可以快速发现是否存在相同的文件内容或字符串。 缓存管理:缓存系统中常用的一种技术是散列函数。

    8710

    Java程序设计(基础)- 数据类型

    检查序列的单个字符、比较字符串、搜索字符串、提取子字符串、创建字符串副本、在该副本中、所有的字符都被转换为大写或小写形式。 Date :Date表示特定的瞬间,精确到毫秒。...get(int index):返回列表中指定位置的元素。 Map: K – 此映射所维护的键的类型 V – 映射值的类型 将键映射到值的对象。...一个映射不能包含重复的键;每个键最多只能映射到一个值。 put(K key,V value):将指定的值与此映射中的指定键关联(可选操作)。...如果此映射以前包含一个该键的映射关系,则用指定值替换旧值(当且仅当,返回 true 时,才能说映射 m 包含键 k 的映射关系)。...(该映射最多只能包含一个这样的映射关系.) get(Object key):返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null。

    88320

    Python爬虫之非关系型数据库存储#5

    age', 1) age 对应的值增 1,若不存在,则会创建并设置为 1 1,即修改后的值 decr(name, amount=1) 键名为 name 的 value 减值操作,默认为 1,键不存在则被创建并将...'2'] rpoplpush(src, dst) 返回并删除名称为 src 的列表的尾元素,并将该元素添加到名称为 dst 的列表头部 src:源列表的键;dst:目标列表的 key redis.rpoplpush...的值为 6 1,即添加的映射个数 hget(name, key) 返回键名为 name 的散列表中 key 对应的值 name:键名;key:映射键名 redis.hget('price', 'cake...向键名为 price 的散列表中批量添加映射 True hincrby(name, key, amount=1) 将键名为 name 的散列表中映射的值增加 amount name:键名;key:映射键名...的值是否存在 True hdel(name, *keys) 在键名为 name 的散列表中,删除键名为键的映射 name:键名;keys:键名序列 redis.hdel('price', 'banana

    13110

    Python操作Redis,你要的都在这了!

    在默认不传的情况下,这4个参数分别为localhost、6379、0和None。首先声明了一个StrictRedis对象,接下来调用set()方法,设置一个键值对,然后将其获取并打印。...', ['tags', 'tags2']) 求键为tags的集合和键为tags2的集合的交集并将其保存为inttag 1 sunion(keys, *args) 返回所有给定键的集合的并集 keys:键列表...', 'cake', 5) 向键为price的散列表中添加映射关系,cake的值为5 1,即添加的映射个数 hsetnx(name, key, value) 如果映射键名不存在,则向键为name的散列表中添加映射...']) 获取键为price的散列表中apple和orange的值 [b'3', b'7'] hmset(name, mapping) 向键为name的散列表中批量添加映射 name:键名;mapping...的散列表中apple的值增加3 6,修改后的值 hexists(name, key) 键为name的散列表中是否存在键名为键的映射 name:键名;key:映射键名 redis.hexists('price

    34.5K3526

    Java8编程思想精粹(十)-容器(上)

    映射(Map) : 一组成对的“键值对”对象,允许使用键来查找值。 ArrayList 使用数字来查找对象,因此在某种意义上讲,它是将数字和对象关联在一起。...map 允许我们使用一个对象来查找另一个对象,它也被称作关联数组(associative array),因为它将对象和其它对象关联在一起; 或者称作字典(dictionary),因为可以使用一个键对象来查找值对象...Arrays.asList() 方法接受一个数组或是逗号分隔的元素列表(使用可变参数),并将其转换为 List 对象。...Map 则由大括号括住,每个键和值用等号连接(键在左侧,值在右侧)。 ArrayList 和 LinkedList 都是 List 的类型,从输出中可以看出,它们都按插入顺序保存元素。...正是由于这种行为,对于每个键, Map 只存储一次。 Map.put(key, value) 添加一个所想要添加的值并将它与一个键(用来查找值)相关联。Map.get(key) 生成与该键相关联的值。

    1.3K41

    Python3列表和元组

    容器可包含其他对象的对象。两种主要的容器是序列(列表和元组)和映射(字典)。在序列中每个元素都有编号;在映射中,每个元素都有键;有一种既不是序列也不是映射的容器,叫集合(Set)。...   b[4,5,6]  a.extend(b)    a==>[1,2,3,4,5,6]; index:查找指定值第一次出现的索引   注意:不能查找本来不存在的值 insert:用于将一个对象成仇人列表...] sort:对列表就地排序,对原来的列表进行修改,不返回副本;不返回任何值 sorted:获取排序后的列表副本 高级排序:sort中有两个可选参数 key和reverse;key:用于排序的函数(排序规则...):空括号表示一个空元组   42,表示只包含一个值的元组,一定要加上逗号 tuple的工作原理与list很像:将一个序列作为参数,并将其转换为元组 tuple([1,2,3])==>(1,2,3) ...tuple('abc')==>('a','b','c')  tuple((1,2,3))==>(1,2,3) 元组的切片是元组 元组可以用作映射中的键、集合的成员,但是列表不行 有些内置函数和方法返回元组

    1.3K20

    Java 编程思想第十二章 - 容器持有对象

    映射(Map) : 一组成对的“键值对”对象,允许使用键来查找值。 ArrayList 使用数字来查找对象,因此在某种意义上讲,它是将数字和对象关联在一起。...map 允许我们使用一个对象来查找另一个对象,它也被称作关联数组(associative array),因为它将对象和其它对象关联在一起; 或者称作字典(dictionary),因为可以使用一个键对象来查找值对象...Arrays.asList() 方法接受一个数组或是逗号分隔的元素列表(使用可变参数),并将其转换为 List 对象。...Map 则由大括号括住,每个键和值用等号连接(键在左侧,值在右侧)。 ArrayList 和 LinkedList 都是 List 的类型,从输出中可以看出,它们都按插入顺序保存元素。...正是由于这种行为,对于每个键, Map 只存储一次。 Map.put(key, value) 添加一个所想要添加的值并将它与一个键(用来查找值)相关联。

    1.4K20
    领券