day57 集合 List Set Map

2024-03-01 12:28
文章标签 set list map 集合 day57

本文主要是介绍day57 集合 List Set Map,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

List实现类

List接口特点:元素有序 可重复

Arraylist 可变数组

        jdk 8 以前Arraylist容量初始值10

         jdk8 之后初始值为0,添加数据时,容量为10;

        ArrayList与Vector的区别?

        

LinkList:双向链表

                优点:不连续存储,随机添加和删除操作方法

                缺点:不连续存储,遍历速度慢

        有链表头和链表尾

        新增针对链表头和链表尾的操作方法

                

Set集合及实现类

Set接口 extends Collection 特点:无序 唯一

HashSet

TreeSet

Map集合及实现类

Map集合   以key-value存储数据

        key:无序唯一

        value:无序可重复

        key-value 映射关系唯一

  1 添加方法
                    V put(K key, V value)   将指定的值与此映射中的指定键关联(可选操作)。
            2 删除
                      void clear()    从此映射中移除所有映射关系(可选操作)。
                       V remove(Object key)  如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。
                       boolean  remove(Object key, Object value) : 仅当指定的密钥当前映射到指定的值时删除该条目。
           3 改
                        V put(K key, V value)   将指定的值与此映射中的指定键关联(可选操作)。
                        V replace(K key, V value)  只有当目标映射到某个值时,才能替换指定键的条目。
                       boolean replace(K key, V oldValue, V newValue)  仅当当前映射到指定的值时,才能替换指定键的条目。
            4 查:
                    boolean containsKey(Object key)  如果此映射包含指定键的映射关系,则返回 true。
                     boolean containsValue(Object value)  如果此映射将一个或多个键映射到指定值,则返回 true。
                     V get(Object key)   返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null。
                     V getOrDefault(Object key, V defaultValue) :     返回到指定键所映射的值,或 defaultValue如果此映射包含该键的映射。
            5 遍历方法
                     Set<Map.Entry<K,V>> entrySet()   返回此映射中包含的映射关系的 Set 视图。
                    Set<K> keySet() :  返回此映射中包含的键的 Set 视图。
                      Collection<V> values() 回此映射中包含的值的 Collection 视图。
                      forEach()
             6 其他方法
                 boolean isEmpty() : 如果此映射未包含键-值映射关系,则返回 true。
                  int size()   返回此映射中的键-值映射关系数。

HashMap

                         HashMap的初始容量16 加载因子0.75扩容为2为2倍

                ​​​​​​​        ​​​​​​​ Hashtable初始容量11 加载因子0.75

扩容为2倍+1

                        HashMap key,value可以为null

                        HashTable key,value都不可以为null       ​​​​​​​        ​​​​​​​         

HashMap中的key如何去除重复项?

                调用key的hashCode与equals方法

   TreeMap:二叉树

                左小,右大的方式存储

                读取:按中序(左-中-右)

                key:通过比较规则,排序并去除重复

                注意:key 必须为同一种数据类型的值。不能出现null值

这篇关于day57 集合 List Set Map的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/762441

相关文章

Java中List的contains()方法的使用小结

《Java中List的contains()方法的使用小结》List的contains()方法用于检查列表中是否包含指定的元素,借助equals()方法进行判断,下面就来介绍Java中List的c... 目录详细展开1. 方法签名2. 工作原理3. 使用示例4. 注意事项总结结论:List 的 contain

SpringBoot如何通过Map实现策略模式

《SpringBoot如何通过Map实现策略模式》策略模式是一种行为设计模式,它允许在运行时选择算法的行为,在Spring框架中,我们可以利用@Resource注解和Map集合来优雅地实现策略模式,这... 目录前言底层机制解析Spring的集合类型自动装配@Resource注解的行为实现原理使用直接使用M

Nginx指令add_header和proxy_set_header的区别及说明

《Nginx指令add_header和proxy_set_header的区别及说明》:本文主要介绍Nginx指令add_header和proxy_set_header的区别及说明,具有很好的参考价... 目录Nginx指令add_header和proxy_set_header区别如何理解反向代理?proxy

java streamfilter list 过滤的实现

《javastreamfilterlist过滤的实现》JavaStreamAPI中的filter方法是过滤List集合中元素的一个强大工具,可以轻松地根据自定义条件筛选出符合要求的元素,本文就来... 目录1. 创建一个示例List2. 使用Stream的filter方法进行过滤3. 自定义过滤条件1. 定

C++ 各种map特点对比分析

《C++各种map特点对比分析》文章比较了C++中不同类型的map(如std::map,std::unordered_map,std::multimap,std::unordered_multima... 目录特点比较C++ 示例代码 ​​​​​​代码解释特点比较1. std::map底层实现:基于红黑

Python容器类型之列表/字典/元组/集合方式

《Python容器类型之列表/字典/元组/集合方式》:本文主要介绍Python容器类型之列表/字典/元组/集合方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 列表(List) - 有序可变序列1.1 基本特性1.2 核心操作1.3 应用场景2. 字典(D

如何通过Golang的container/list实现LRU缓存算法

《如何通过Golang的container/list实现LRU缓存算法》文章介绍了Go语言中container/list包实现的双向链表,并探讨了如何使用链表实现LRU缓存,LRU缓存通过维护一个双向... 目录力扣:146. LRU 缓存主要结构 List 和 Element常用方法1. 初始化链表2.

JavaScript中的Map用法完全指南

《JavaScript中的Map用法完全指南》:本文主要介绍JavaScript中Map用法的相关资料,通过实例讲解了Map的创建、常用方法和迭代方式,还探讨了Map与对象的区别,并通过一个例子展... 目录引言1. 创建 Map2. Map 和对象的对比3. Map 的常用方法3.1 set(key, v

python中列表list切分的实现

《python中列表list切分的实现》列表是Python中最常用的数据结构之一,经常需要对列表进行切分操作,本文主要介绍了python中列表list切分的实现,文中通过示例代码介绍的非常详细,对大家... 目录一、列表切片的基本用法1.1 基本切片操作1.2 切片的负索引1.3 切片的省略二、列表切分的高

java两个List的交集,并集方式

《java两个List的交集,并集方式》文章主要介绍了Java中两个List的交集和并集的处理方法,推荐使用Apache的CollectionUtils工具类,因为它简单且不会改变原有集合,同时,文章... 目录Java两个List的交集,并集方法一方法二方法三总结java两个List的交集,并集方法一