首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏指点的专栏

    Java 集合框架4)---- Map 相关类解析(上)

    ,这篇开始我们开始探索 Java 集合框架中的 Map 接口及其相关子类。可能有些小伙伴会问了:为什么不先讲 Set 接口而讲 Map 接口呢? 确实在集合框架的第一篇文章中我介绍接口的顺序是先 List 在 Set 然后才是 Map 接口,不过在这里还是决定先讲 Map 接口,因为 Set 接口下的一些具体类(HashSet ….)是通过 Map 好吧,我偷懒了,还是用的集合框架第一篇文章的那个图,不过我们现在只需要关注 Map 接口了,可以看到,Map 接口是独立存在的,我们之前看的 List 接口是继承于 Collection 接口的子接口。 关于 Map 接口的一些基本概念在 Java 集合框架 (1)— 概述 中已经介绍过了。 通常,这个集合应该基于 AbstractSet 类来实现,并且不应该支持添加和删除元素的方法,其迭代器不应该支持移除元素的方法。

    63030发布于 2019-01-18
  • 来自专栏程序猿的大杂烩

    集合框架

    addAll方法:是批量添加方法,可以利用一个集合先把数据都添加到这个集合里,然后再拿到这个集合对象使用批量添加方法将这个集合对象添加到指定的集合里,就实现了批量添加: ? removeAll:批量删除方法,同样的可以利用一个集合先把需要数据都添加到这个集合里,然后再拿到这个集合对象使用批量删除方法将这个集合对象添加到指定的集合里,就实现了批量删除: ? retainAll:交集删除,删除传递过去的这个集合里没有的元素: ? clear:清除所有数据方法,可以将集合里的数据全部删除: ? 可以从运行结果看出重写了方法后值就被成功的删除掉了 Tree集合: Tree集合是二叉树结构的集合,会把相近的值放在一起,所以这种结构也起到了一定的排序作用,例如操作系统的文件就是tree这种排序结构。 从运行结果可以看出是有一定排序的 ArrayList集合与Vector集合: ArrayList集合是不带线程安全的数组集合,Vector集合则是带有线程安全的数组集合,两者区别就在于此,其他方法什么的都是一样的

    61920发布于 2020-09-23
  • 来自专栏老九学堂

    集合框架

    我们简单的了解下Java中的集合框架,其实集合就是将若干用途相同、近似的“数据”结合成一个整体。 集合从体系上分为三种: (1)列表(List):List集合区分元素的顺序,允许包含相同的元素。 (2)集(Set):Set集合不区分元素的顺序,不允许包含相同的元素。 Java集合中只能保存引用数据类型,也就是保存的是对象的地址,而非对象本身。集合中元素相当于引用类型的变量。 JDK所提供的容器API全部位于java.util包中。 Java集合主要包括三种类型:Set(集),List(列表),Map(映射)。 Map接口提供3种集合的视图,Map的内容可以被当作一组key集合,一组value集合,或者一组key-value映射。

    61150编辑于 2022-03-14
  • 来自专栏编程学习之路

    初识集合框架

    什么是集合框架 ❤️❤️Java 集合框架 Java Collection Framework ,又被称为容器 container ,是定义在 java.util 包下的一组接口 interfaces 有几个典型的集合框架: Collection接口:是集合框架的根接口,定义了一组通用的方法,用于操作集合中的元素。它有两个主要的子接口:List和Set。 Map接口:表示一组键值对的集合,每个键都是唯一的。它的常见实现类有HashMap、TreeMap和LinkedHashMap。 集合框架提供了丰富的方法和算法,可以方便地对集合进行增删改查等操作。 使用集合框架可以提高代码的可读性和可维护性,并且可以更好地利用Java语言的特性。 如下是其总体系图(里面包含了很多集合框架,并且内部都是重要的类和接口): 这图我们看下就行,不要求强记里面的类和接口,在之后的学习里会一一讲解这里面的类和接口。 集合框架的重要性 1.

    23610编辑于 2024-04-17
  • 来自专栏Android干货

    Java集合框架

    一、集合集合是Java API所提供的一系列类的实例,可以用于动态存放多个对象 为什么要使用集合?数组的长度是固定的,存满了就不能存了。 ,会先和集合中已经存在的对象比较哈希值   2、若哈希值不同,则直接添加到集合中   3、若哈希值相同,则再调用equals()方法,此方法返回false时,则将对象添加到集合中,反之不添加   注意: 值是可重复的. 4、判断 ①boolean  isEmpty();  //判断此Map中是否有元素。 > c) 从集合中删除所有指定集合包含的对象 (3)、void clear() 清空集合 3、判断方法 (1)、boolean contains(Object o)  判断是否集合中是否包含指定对象 ( > c) 判断集合是否包含指定集合中所有对象 (3)、boolean isEmpty() //判断集合是否为空 (4)、boolean equals(Object o) 判断集合是否与某对象相同 4、获取方法

    2.2K90发布于 2018-05-18
  • 来自专栏个人学习记录

    Java集合框架

    Java的集合主要分为Collection和Map两大体系 Collection :主要由List、Set、Queue接口组成 List代表有序、重复的集合 Set代表无序、不可重复的集合 Queue为先进先出的队列 q-sign-algorithm=sha1&q-ak=AKID2uZ1FGBdx1pNgjE3KK4YliPpzyjLZvug&q-sign-time=1617421021;1617428221&q-key-time q-url-param-list=&q-signature=18e9d1c9ff02d39b552b8626a33a22ff26447b33] b1712b236bcf6aa63cea8c3de290e9b7.png 通过对集合框架的分析其主要可以分为如下几个部分 (可以使用双端队列ArrayDeque代替) 2、Set Set集合为一个存取无序,且元素不可重复的集合。 其主要实现类:HashSet、LinkedHashSet 和 TreeSet。 4、Map Map是一个双列集合,其中保存的是键值对(Key-Value),键要求保持唯一性,值可以重复。

    1.3K00发布于 2021-04-03
  • 来自专栏SerMsBlog

    Java集合框架

    super E> c) 排序(升序,降序,乱序) 由于列表有序并存在索引,因此除了增强for循环进行遍历外,还可以使用普通的for循环进行遍历 List集合特点 集合中的元素允许重复 集合中的元素是有顺序的 LinkedHashSet 不允许集合元素重复。 的数量大到需要变红黑树时,若hash表容量小于MIN_TREEIFY_CAPACITY时,此时应执行resize扩容操作这个MIN_TREEIFY_CAPACITY的值至少是TREEIFY_THRESHOLD的4倍 、查询和修改等操作,还提供了对集合对象设置不可变、对集合对象实现同步控制等方法 Collection 和 Collections的区别 Collections是个java.util下的类,是针对集合类的一个工具类 ,提供一系列静态方法,实现对集合的查找、排序、替换、线程安全化(将非同步的集合转换成同步的)等操作。

    1.9K20编辑于 2022-09-19
  • 来自专栏Java基础

    【初识集合框架

    你只会说“数组加链表”,细节全懵…… 一、集合框架是啥?—— 比数组更强大的“数据容器” 为什么需要集合? 搜索 等丰富操作 二、集合框架总览:一张图看懂体系 集合框架大致结构 核心接口 接口 特点 典型实现 List 有序、可重复 ArrayList, LinkedList Set 无序、不可重复 4.  Q4: 为什么 ConcurrentHashMap 不允许 null 键? 答: 主要为了避免歧义。 希望这篇能帮你彻底搞懂 Java 集合框架

    22410编辑于 2025-08-28
  • 来自专栏Java基础

    集合框架WeakHashMap】

    或者在框架开发中,想为某些对象附加元数据,但又不希望“因为缓存引用”而导致对象无法被回收? 这时,WeakHashMap 就是你的最佳选择。 本文将带你深入理解 WeakHashMap 的设计思想、底层实现、典型应用场景,并对比它与 HashMap 和 IdentityHashMap 的差异,最后附上面试高频问题解析,助你彻底掌握这一“自动清理”的集合类 区别在于 Entry 的实现: HashMap.Entry 普通类 WeakHashMap.Entry 继承 WeakReference<K>,并关联 ReferenceQueue ❓4. 九、总结 WeakHashMap 是 Java 集合中一个“智能自动清理”的工具。 它通过弱引用 + ReferenceQueue 的机制,实现了“当键不再被使用时,自动删除键值对”的能力。 掌握 WeakHashMap,不仅是掌握一个集合类,更是理解了 Java 引用机制、GC 协作、内存管理的深层设计。

    32310编辑于 2025-08-28
  • Java集合框架

    Java集合框架概述Java集合框架是一个抽象数据类型的框架,它提供了一组接口和类,可用于处理各种类型的数据结构,如列表、队列、集、映射等。 Java集合框架的主要特点是:1、可扩展性:Java集合框架提供了一组可扩展的接口和类,可让开发人员根据自己的需要实现新的数据结构和算法。 2、高性能:Java集合框架中的数据结构和算法经过优化,可以提供高效的性能。3、类型安全:Java集合框架是类型安全的,即只能存储指定类型的对象,不允许存储不同类型的对象。 4、线程安全:Java集合框架中的某些数据结构和算法是线程安全的,可以在多线程环境中使用。Java集合框架中的接口Java集合框架中定义了一些接口,这些接口是实现各种数据结构的基础。 4、Map接口 Map接口是键值对的集合,它定义了一组键值对,可以通过键来访问值。Map接口有两个重要的实现类:HashMap和TreeMap。

    50221编辑于 2023-12-21
  • 来自专栏刷题笔记

    Java 集合框架

    集合框架被设计成要满足以下几个目标。 该框架必须是高性能的。基本集合(动态数组,链表,树,哈希表)的实现也必须是高效的。 该框架允许不同类型的集合,以类似的方式工作,具有高度的互操作性。 从上面的集合框架图可以看到,Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射。 集合框架是一个用来代表和操纵集合的统一架构。所有的集合框架都包含如下内容: 接口:是代表集合的抽象数据类型。例如 Collection、List、Set、Map 等。 尽管 Map 不是集合,但是它们完全整合在集合中。 集合框架体系如图所示 ? Java 集合框架提供了一套性能优良,使用方便的接口和类,java集合框架位于java.util包中, 所以当使用集合框架的时候需要进行导包。

    1K10发布于 2019-11-07
  • 来自专栏Java基础

    集合框架IdentityHashMap】

    ✅ 场景三:框架内部元数据管理 许多框架(如 Spring、Hibernate)在内部使用 IdentityHashMap 来缓存对象的元信息,避免因 equals() 重写导致的误匹配。 value; break; } else if (k == key) { table[i + 1] = value; break; } } 4. ❓4. IdentityHashMap 的数据结构是怎样的? 答: 对象图遍历(防止循环引用) AOP 中代理与目标对象映射 框架内部元数据缓存 任何需要“区分对象实例”的场景 九、总结 IdentityHashMap 是 Java 集合中一个“特立独行”的存在 掌握 IdentityHashMap,意味着你不仅会用集合,更理解了 Java 对象模型、内存管理与框架设计哲学。

    34310编辑于 2025-08-28
  • 来自专栏用户8637799的专栏

    java 集合框架

    java 集合框架 个人整理集合脑图 集合概念:集合是java中提供的一种容器,可以用来存储多个数据。集合和数组既然都是容器,它们有什么区别呢? 数组的长度是固定的。集合的长度是可变的。 HashSet具有以下特点: 不能保证元素的排列顺序,顺序可能与添加顺序不同,顺序也可能发生变化; HashSet不是同步的; 集合元素值可以是null; 内部存储机制: 当向HashSet集合中存入一个元素时 值来决定元素的存储位置,但它同时使用链表维护元素的次序,这样使得元素看起来是以插入的顺序保存的,也就是说当遍历集合LinkedHashSet集合里的元素时,集合将会按元素的添加顺序来访问集合里的元素。 输出集合里的元素时,元素顺序总是与添加顺序一致。但是LinkedHashSet依然是HashSet,因此它不允许集合重复。 并且linkedHashSet是一个非线程安全的集合。 TreeSet 是一个有序的集合,它的作用是提供有序的Set集合

    1.1K20编辑于 2022-09-09
  • 来自专栏陈树义

    集合系列(一):集合框架概述

    集合系列(一):集合框架概述 Java 集合是 Java API 用得最频繁的一类,掌握 Java 集合的原理以及继承结构非常有必要。 总的来说,Java 容器可以划分为 4 个部分: List 集合 Set 集合 Queue 集合 Map 集合 除了上面 4集合之外,还有一个专门的工具类: 工具类(Iterator 迭代器、Enumeration 枚举类、Arrays 和 Collections) 在开始聊具体的集合体系之前,我想先介绍一下 Collection 框架的基本类结构。 List 集合 List 集合存储的是有序的数据集合,其数据结构特点是:读取快,修改慢,适合于读取多、写入修改少的场景。List 集合的类继承结构如下: ? Collections java.util.Collections 是一个包含各种有关集合操作的静态多态方法的工具类,服务于 Java 的 Collection 框架

    81020发布于 2019-08-24
  • 来自专栏xiaozhangStu

    JAVA集合框架

    JAVA集合框架 Collection 定义 一个接口,目的是存储不唯一无序的对象 List 定义 一个继承Collection的接口,目的是存储不唯一有序的对象 公用方法 Object remove (Object key)//根据键取值 Object remove (Object key)//根据键删除键值对 int size()//返回元素的个数 Set keySet ()//返回键的set集合 Collection values ()//返回值的集合 boolean containsKey (Object key)//是否包含某个键映射的键值对 遍历map 迭代器遍历iterator遍历 1 hasNext()//判断是否存在另一个可访问的元素 Object next()//返回要访问的下一个元素 3.举例 Set keys=dogMap.keySet();    //取出所有key的集合 由来 因为在集合操作的时候涉及到很多的强制类型转换的问题,所以在我们的jdk1.5后就使用了泛型改写了集合框架 举例 List <Dog> dogs = new ArrayList<Dog>(); /

    85610编辑于 2023-05-04
  • 来自专栏用户1800963

    Java 集合框架

    如何使用迭代器通常情况下,你会希望遍历一个集合中的元素。例如,显示集合中的每个元素。 一般遍历数组都是采用for循环或者增强for,这两个方法也可以用在集合框架,但是还有一种方法是采用迭代器遍历集合框架,它是一个对象,实现了Iterator 接口或 ListIterator接口。 迭代器,使你能够通过循环来得到或删除集合的元素。ListIterator 继承了 Iterator,以允许双向遍历列表和修改元素。

    97820编辑于 2023-02-07
  • 来自专栏陶士涵的菜地

    集合框架(TreeSet)

    TreeSet:可以对Set集合中的元素排序,默认按照ascii表排序,二叉树结构 左边叉是小的,右边叉是大的 存储自定义对象 定义一个类Student实现Comparable类,使自定义类具备比较性 Student对象 判断当前Student对象的age大于另一个Student对象的age,返回1,否则返回-1 获取Student对对象 调用TreeSet对象的add()方法,参数:Student对象 遍历集合

    49220发布于 2019-09-10
  • 来自专栏IT技术订阅

    Java集合框架

    1.集合和数组的区别 数组长度是固定的,集合长度是可变的 数组可以存储基本类型和引用类型,集合只能存储引用类型 2.Collection体系集合 List接口的特点: 有序、有下标、元素可重复 Set接口的特点 遍历元素 4。 collection.size()); System.out.println("==========================================="); //4。 Person p2 = new Person("猪猪", 24); Person p3 = new Person("侠侠", 23); Person p4 ", 22); person.add(p1); person.add(p2); person.add(p3); person.add(p4)

    2.8K20编辑于 2022-06-23
  • 来自专栏RainbowSeaJava成神之路

    Java集合框架

    集合框架被设计成要满足以下几个目标。该框架必须是高性能的。基本集合(动态数组,链表,树,哈希表)的实现也必须是高效的。该框架允许不同类型的集合,以类似的方式工作,具有高度的互操作性。 对一个集合的扩展和适应必须是简单的。为此,整个集合框架就围绕一组标准接口而设计。 集合的使用场景图片3. 集合框架概述一个集合框架是用于表示和操作的集合统一架构。所有集合框架包含以下内容:接口 这些是表示集合的抽象数据类型。接口允许独立于它们的表示的细节来操纵集合4. Java 集合框架的好处Java 集合框架提供了以下好处:减少编程工作量: 通过提供有用的数据结构和算法,集合框架可以让您专注于程序的重要部分,而不是使其工作所需的低级“管道”。

    99410编辑于 2023-02-03
  • 来自专栏cayzlh

    Java集合框架

    Java集合框架 集合框架底层数据结构总结 Collection List Arraylist: Object数组 Vector: Object数组 LinkedList: 双向循环链表 Set HashSet HashTable: 数组+链表组成的,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突而存在的 TreeMap: 红黑树(自平衡的排序二叉树) 集合框架体系如图 集合接口 集合框架定义了一些接口 4 SortedSet 继承于Set保存有序的集合。 5 Map Map 接口存储一组键值对象,提供key(键)到value(值)的映射。 集合算法 集合框架定义了几种算法,可用于集合和映射。这些算法被定义为集合类的静态方法。 在尝试比较不兼容的类型时,一些方法能够抛出 ClassCastException异常。 小结 Java集合框架为程序员提供了预先包装的数据结构和算法来操纵他们。 集合是一个对象,可容纳其他对象的引用。集合接口声明对每一种类型的集合可以执行的操作。

    1.4K10编辑于 2022-03-01
领券