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

相关文章

C++中unordered_set哈希集合的实现

《C++中unordered_set哈希集合的实现》std::unordered_set是C++标准库中的无序关联容器,基于哈希表实现,具有元素唯一性和无序性特点,本文就来详细的介绍一下unorder... 目录一、概述二、头文件与命名空间三、常用方法与示例1. 构造与析构2. 迭代器与遍历3. 容量相关4

Redis中Set结构使用过程与原理说明

《Redis中Set结构使用过程与原理说明》本文解析了RedisSet数据结构,涵盖其基本操作(如添加、查找)、集合运算(交并差)、底层实现(intset与hashtable自动切换机制)、典型应用场... 目录开篇:从购物车到Redis Set一、Redis Set的基本操作1.1 编程常用命令1.2 集

Redis中的有序集合zset从使用到原理分析

《Redis中的有序集合zset从使用到原理分析》Redis有序集合(zset)是字符串与分值的有序映射,通过跳跃表和哈希表结合实现高效有序性管理,适用于排行榜、延迟队列等场景,其时间复杂度低,内存占... 目录开篇:排行榜背后的秘密一、zset的基本使用1.1 常用命令1.2 Java客户端示例二、zse

Java集合之Iterator迭代器实现代码解析

《Java集合之Iterator迭代器实现代码解析》迭代器Iterator是Java集合框架中的一个核心接口,位于java.util包下,它定义了一种标准的元素访问机制,为各种集合类型提供了一种统一的... 目录一、什么是Iterator二、Iterator的核心方法三、基本使用示例四、Iterator的工

Java JUC并发集合详解之线程安全容器完全攻略

《JavaJUC并发集合详解之线程安全容器完全攻略》Java通过java.util.concurrent(JUC)包提供了一整套线程安全的并发容器,它们不仅是简单的同步包装,更是基于精妙并发算法构建... 目录一、为什么需要JUC并发集合?二、核心并发集合分类与详解三、选型指南:如何选择合适的并发容器?在多

python语言中的常用容器(集合)示例详解

《python语言中的常用容器(集合)示例详解》Python集合是一种无序且不重复的数据容器,它可以存储任意类型的对象,包括数字、字符串、元组等,下面:本文主要介绍python语言中常用容器(集合... 目录1.核心内置容器1. 列表2. 元组3. 集合4. 冻结集合5. 字典2.collections模块

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

深入解析C++ 中std::map内存管理

《深入解析C++中std::map内存管理》文章详解C++std::map内存管理,指出clear()仅删除元素可能不释放底层内存,建议用swap()与空map交换以彻底释放,针对指针类型需手动de... 目录1️、基本清空std::map2️、使用 swap 彻底释放内存3️、map 中存储指针类型的对象

Java List 使用举例(从入门到精通)

《JavaList使用举例(从入门到精通)》本文系统讲解JavaList,涵盖基础概念、核心特性、常用实现(如ArrayList、LinkedList)及性能对比,介绍创建、操作、遍历方法,结合实... 目录一、List 基础概念1.1 什么是 List?1.2 List 的核心特性1.3 List 家族成

Java集合中的链表与结构详解

《Java集合中的链表与结构详解》链表是一种物理存储结构上非连续的存储结构,数据元素的逻辑顺序的通过链表中的引用链接次序实现,文章对比ArrayList与LinkedList的结构差异,详细讲解了链表... 目录一、链表概念与结构二、当向单链表的实现2.1 准备工作2.2 初始化链表2.3 打印数据、链表长