
Java集合
文章平均质量分 80
Java集合
Java杨永杰
Java架构师,想要学习的技术点可以在评论区哦,会更新文章的~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java-RejectedExecutionHandler介绍
Java中的RejectedExecutionHandler是一个接口,用于处理Executor中的任务被拒绝执行的情况。当Executor中的任务队列已满,并且无法再继续接受新的任务时,就会拒绝执行新的任务。ThreadPoolExecutor中的任务队列已满,且maximumPoolSize已经达到上限。ThreadPoolExecutor已经被关闭,不再接受新的任务。原创 2024-01-27 17:09:58 · 1424 阅读 · 0 评论 -
Java-Array介绍
在Java中,数组是一种原生数据类型,并且有一个对应的Array类来提供一些操作数组的方法。该Array类位于java.util包中。原创 2023-12-23 15:52:00 · 858 阅读 · 0 评论 -
并发安全之-CopyOnWriteArrayList
ArrayList是线程不安全的数据结构,这意味着当多个线程同时访问或修改ArrayList时,可能会导致数据一致性的问题。当多个线程同时对ArrayList进行写操作(例如添加、删除、修改元素),可能会导致其中一个线程的操作被覆盖或丢失。这是因为ArrayList在进行修改操作时并没有进行同步处理,因此多个线程之间的操作顺序是不确定的。原创 2023-12-21 15:37:50 · 1103 阅读 · 0 评论 -
LinkedList介绍
Java LinkedList是一个双向链表数据结构的实现。它实现了List接口和Deque接口,可以用于存储和操作元素的集合。LinkedList中的元素是通过节点来存储的,每个节点包含了元素本身以及指向前一个节点和后一个节点的引用。由于每个节点都包含指向前一个节点和后一个节点的引用,所以可以在任何位置高效地插入、删除元素。原创 2023-12-14 14:53:05 · 1021 阅读 · 0 评论 -
ArrayList介绍
Java ArrayList是Java集合框架中的一种数据结构,它实现了List接口。ArrayList可以动态地调整大小,并且可以保存不同类型的对象。ArrayList使用数组实现,初始化时会创建一个默认大小的数组,当数组不够容纳新元素时,会自动扩容。因此,ArrayList的插入和删除操作比较慢,而查找操作比较快。原创 2023-12-14 14:43:20 · 953 阅读 · 0 评论 -
迭代器Iterator-介绍
迭代器(Iterator)是一种用于访问集合(如列表、数组、字典等)中元素的对象。它提供了一种统一的方式来遍历集合中的元素,而无需暴露集合内部的表示方式。原创 2023-12-13 11:30:41 · 907 阅读 · 0 评论 -
TreeSet介绍
TreeSet是Java中实现了SortedSet接口的类,它继承自AbstractSet类。TreeSet是基于红黑树(一种自平衡的二叉查找树)实现的,它能够保证元素按照自然顺序(或者指定的Comparator)进行排序,并且元素是唯一的。让元素自身具备比较性也就是元素需要实现 Comparable 接口,覆盖 compareTo 方法。案例:创建 Student 类,有姓名,年龄。存入集合后,先根据年龄大小,再根据姓名来进行排序插入集合中@Overridereturn n;重写。原创 2023-12-13 11:05:16 · 837 阅读 · 0 评论 -
HashSet介绍
HashSet是Java中的一种集合类,它实现了Set接口并基于哈希表实现。HashSet不保证元素顺序,并且允许存储null元素。HashSet的存储方式基于哈希表,采用了哈希码来确定元素在集合中的位置。当插入一个元素时,HashSet首先计算元素的哈希码,并根据该哈希码找到元素在哈希表中的位置。如果该位置为空,那么元素可以插入;如果该位置已经有元素存在,那么会进行额外的比较操作来确定是否是重复元素。原创 2023-12-12 19:49:19 · 976 阅读 · 0 评论 -
HashTable 实现原理
HashTable(哈希表)是一种用于快速存储和查找数据的数据结构。它通过将数据映射到一个固定大小的数组(桶)中来实现快速查找数据的目的。原创 2023-12-12 18:21:15 · 1073 阅读 · 0 评论 -
JDK 1.8之Lambda 表达式比较大小
只需要给静态方法 Collections.sort 传入一个List对象以及一个比较器来按指定顺序排列。通常做法都是创建一个匿名的比较器对象然后将其传递给sort方法。方法接收一个Lambda表达式作为参数,该Lambda表达式用于进行比较大小,根据比较结果进行升序或降序排序。在Lambda表达式中,使用了。Java编译器可以自动推导出参数类型,所以你可以不用再写一次类型。接下来我们看看lambda表达式还能作出什么更方便的东西来。来比较大小,这两个表达式分别表示升序和降序排序。原创 2023-11-29 13:27:31 · 705 阅读 · 0 评论 -
Java编程中常见的技术难题之Java集合
Java集合在使用中会遇到各种问题,比如空指针异常 ,类型转换异常 数组越界异常,符串拼接异常,并发等问题由于程序的复杂性和多样性,常常会出现各种各样的bug。本文介绍了几种常见的Java编程bug,并提供相应的解决方法,希望读者可以通过本文避免这些问题。计算机科学和技术:编程是计算机科学和技术的核心。编程是这个过程中最关键的一步,因为它决定了软件的行为和功能。自动化工具和脚本:编写脚本和自动化工具可以帮助人们简化繁琐的重复任务。编程是现代社会中最重要的技能之一,因为它在许多方面都发挥着重要的作用。原创 2023-11-29 10:12:05 · 454 阅读 · 0 评论 -
Collection 和 Collections 有什么区别?
Collection是集合类的一个顶级接口。它提供了对集合对象进行基本操作的通用接口方法。接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式,其直接继承接口有List与Set等Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序、搜索以及线程安全等各种操作。原创 2023-11-25 16:37:06 · 412 阅读 · 0 评论 -
Arrays.asList、ArrayList.subList的坑?
可以看出,SubList类是ArrayList的内部类,该构造函数中也并没有重新创建一个新的ArrayList,所以修改原集合或者子集合的元素的值,是会相互影响的。2.修改原集合的结构,会起 ConcurrentModificationException 异常。可以看出,当我们往原集合中添加了元素(结构性修改)后,在遍历子集合时,发生了。然后,往statusList中添加元素3。1.修改原集合元素的值,会影影响子集合。3.修改子集合元素的值,会影响原集合。4.修改子集合的结构,会影影响原集合。原创 2023-11-25 15:07:43 · 394 阅读 · 0 评论 -
HashMap的容量设置多少合适?
根据阿里巴巴Java使用规范【推荐】集合初始化时,指定集合初始值大小。说明:HashMap 使用 HashMap(int initialCapacity) 初始化,正例:initialCapacity =(需要存储的元素个数 / 负载因子) + 1。注意负载因子(即 loaderfactor)默认为 0.75,如果暂时无法确定初始值大小,请设置为 16(即默认值)。原创 2023-11-24 09:40:35 · 996 阅读 · 0 评论 -
Java中hash冲突怎么解决?
哈希冲突是指在使用Map存储数据时,两个或多个不同的键(Key)被哈希函数映射到同一个位置的情况。也就是两个或更多的输入值被哈希函数映射到同一哈希值。原创 2023-11-21 14:21:29 · 115 阅读 · 0 评论 -
Set不重复底层实现原理
前提:存储的元素必须重写hashCode方法和equals方法。原创 2023-11-21 11:35:55 · 77 阅读 · 0 评论 -
ArrayList集合不安全(ConcurrentModificationException)的解决方案
ArrayList在迭代的时候如果同时对其进行修改就会抛出java.util.ConcurrentModificationException异常 并发修改异常。原创 2023-11-19 09:00:50 · 202 阅读 · 0 评论 -
ArrayList之Cloneable 标记性接口
动态数组:可调整大小的数组实现数组结构介绍增删慢:每次删除元素,都需要更改数组长度、拷贝以及移动元素位置。查询快:由于数组在内存中是一块连续空间,因此可以根据地址+索引的方式快速获取对应位置上的元素。Cloneable。原创 2023-11-16 16:52:37 · 191 阅读 · 0 评论