- 博客(11)
- 收藏
- 关注
原创 Java集合专题(九):Set接口的实现类之HashSet底层详解
HashSet全面说明HashSet实现了Set接口HashSet实际上是HashMap。public HashSet() { map = new Hashmap<>();}可以存放null值,但是只能有一个null。HashSet不保证元素是有序的,取决于 hash 后,再确定索引的结果。(即,不保证存放元素的顺序和取出顺序一致)不能有重复的元素/对象。案例一public class HashSet01 { public static voi
2021-07-16 21:18:24 172
原创 Java集合专题(八):Set集合详解
Set接口和常用方法体系图Set接口基本介绍无序(添加和去除的顺序不一致),没有索引。不允许重复添加元素,所以最多包含一个Null。JDK API中Set接口的实现类有:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ftg3exkJ-1626267631024)(D:\一些文档\面试资料\笔记整理\Java基础\集合\Set接口的实现类.png)]Set接口的常用方法和LIst接口一样,Set接口也是Collection接口的子接口,因此,常用方法和Co
2021-07-14 21:01:35 118
原创 Java集合中的快速失败机制(fail-fast)和安全失败机制(fail-safe)
快速失败机制—fail-fast**现象:**在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了增加、删除、修改操作,则会抛出ConcurrentModificationException。**现象:**在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了增加、删除、修改操作,则会抛出ConcurrentModificationException。**注意:**这里异常的抛出条件是检测到 modCount != expectedmodCount 这个条件。如果集合发生变化
2021-07-14 20:17:40 207
原创 Java集合专题(七):ArrayList和LinkedList的比较
ArrayList和LinkedList的比较如何选择ArrayList和LinkedList如果我们改查的操作多,选择ArrayList。如果我们增删的操作多,选择LinkedList。一般来说,在程序中,80%-90%都是查询,因此大部分情况下会选择ArrayList。rayList。在一个项目中,根据业务灵活选择,也可能这样,一个模块使用的是ArrayList,另一个模块是LinkedList,根据业务来进行选择。...
2021-07-14 20:17:14 72
原创 Java集合专题(六):List接口的实现类之LinkedList
一、LinkedList的基本介绍1.1、LinkedList底层结构LinkedList底层实现了双向链表和双端队列特点。可以添加任意元素(元素可以重复),包括null。线程不安全,没有实现同步。1.2、LinkedList底层操作机制LinkedList底层维护了一个双向链表。LinkedList中维护了两个属性 first 和 last 分别指向首节点和尾节点。每个节点(Node对象),里面又维护了prev、next、item三个属性,其中通过 prev 指向前一个
2021-07-14 20:16:39 245
原创 Java集合专题(五):List接口的实现类之Vector
一、Vector的基本介绍1.1、Vector类的定义说明public class Vector<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable2.2、Vector底层也是一个对象数组,protected Object[] elementData;3.3、Vector是线程同步的,即线程安全,Vector类
2021-07-03 19:35:17 74
原创 Java集合专题(四):List接口的实现类之ArrayList
一、ArrayList注意事项ArrayList集合中是可以保存任何值的,包括空值,并且可以加入多个 nullArrayList arrayList = new ArrayList();arrayList.add(null);arrayList.add("小红");arrayList.add(null);System.out.println(arrayList);输出结果:[null, 小红, null]ArrayList底层是由数组来实现的ArrayList基本等同于Vector
2021-07-03 18:24:13 201
原创 Java集合专题(三):List集合详解
一、List集合的特点1.1、 List集合类中元素是有序的(添加顺序和取出顺序一致)、且可重复List list = new ArrayList();list.add("jack");list.add("tom");list.add("mary");list.add("jack");System.out.println("List=" + list);输出结果List=[jack, tom, mary, jack]2.2、 List集合中的每个元素都有对应的顺序索引、即支持索引。
2021-06-30 20:37:35 316
原创 Java集合专题(二):Collection集合接口中常用方法的简单介绍
Java集合框架是一套对于数据存储的框架,其目的在于更方便的对数据进行操作,不再像数组那样的繁琐,拥有大量的冗余代码。相比之下,Java集合框架提供的接口方法让编写代码更加的简洁高效。我们都知道在Java集合中有Collection和Map两个集合接口,他们都有自己的实现类,而我们使用这些实现类中方法对数据进行操作。Collection接口Collection接口常用的方法如下Collection的实现类如何使用接口方法操作数据?Java规定了接口不能实例化,这说明了我们不能直接使用Colect
2021-06-30 18:28:19 219
原创 Java集合专题(一):集合的简单介绍
在没有学习Java集合框架之前,我们保存多个数据使用的是数组,但是数组本身也有很多不足之处:数组数组的长度固定,定义一个数组时,我们必须指定该数组的长度,并且一经指定不可更改。保存的必须为同一类型的数据。使用数组进行增删数据比较麻烦,当数组保存的数据达到指定的长度时,想要再继续往数组中保存数据就必须再创建一个新的数组,再将其进行拷贝。非常的麻烦。再次基础上就有了对于存储数据更方便的集合框架。集合可以动态的保存任意多个对象,使用比较方便。提供了一系列方便的操作对象的方法:add、remo
2021-06-30 14:45:29 70
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人