Java集合
文章平均质量分 73
Java集合
松仔log
初出茅庐的程序员
展开
-
Java集合——Iterable和Iterator接口介绍
IterableIterable和Iterator是什么?Iterable源码Iterator源码使用Iterable和Iterator是什么?Iterable是Collection的实现接口,即是集合的最顶级父类Iterator用于代码旧的Enumeration,实现集合的统一遍历前提阅读:设计模式——迭代器模式Iterable源码iterator()方法,用于返回T类型的迭代器forEach(Consumer<? super T> action)默认方法,用于遍历所有集合,简原创 2021-09-16 14:25:58 · 899 阅读 · 0 评论 -
Java集合——Collection接口介绍
Collection、AbstractCollection和CollectionsCollection、AbstractCollection和Collections是什么?Collection源码AbstractCollection源码构造函数获取大小和判空集合转换为数组获取迭代器及操作集合元素方法toString方法Collection、AbstractCollection和Collections是什么?Collection:Iterable的子类接口,所有集合接口的父类接口AbstractCol原创 2021-10-29 16:49:23 · 208 阅读 · 0 评论 -
Java集合——子接口为什么要复写父接口(或Object)已有方法?
问题描述在接口Collection中,可看到有size()和isEmpty()方法在接口List,可看到有同样的size()和isEmpty()方法根据多态,List会继承Collection的这两个方法,但为什么要再写一次?为了可读性为了注释和代码的一致性...原创 2021-10-29 15:09:24 · 291 阅读 · 0 评论 -
Java集合——List和ListIterator接口介绍
ListList是什么?List源码ListIteratorList是什么?List是Collection子接口,为所有数组实现的列表结构提供了统一接口List源码为节省篇幅不再列出对Collectoion的复写方法,根据空格将源码分类:获取(指定位置的)ListIterator迭代器方法、截取方法、根据索引增-删-查-改、获取元素第一次/最后一次出现的索引位置、全替换、排序public interface List<E> extends Collection<E> {原创 2021-10-29 16:29:49 · 402 阅读 · 0 评论 -
Java集合——Set接口介绍
SetSet是什么?Set源码Set是什么?Set是Collection子接口,为所有集结构提供了同一接口Set源码Set源码全部与Collectoion相同,在此不再重复列出原创 2021-11-01 09:30:14 · 287 阅读 · 0 评论 -
Java集合——Queue接口介绍
QueueQueueQueue源码QueueQueue是Collection子接口,为所有队列结构提供统一接口Queue源码为节省篇幅不再列出对Collectoion的复写方法public interface Queue<E> extends Collection<E> { boolean add(E e); boolean offer(E e); E remove(); E poll(); E element(); E peek();Tips:原创 2021-11-01 09:58:42 · 297 阅读 · 0 评论 -
Java集合——Deque接口介绍
DequeDeque是什么?继承结构操作集合元素添加元素添加元素到尾部删除元素删除头部元素删除第一个出现的元素删除指定元素获取元素获取头部元素推拉是否包含获取大小获取迭代器Deque是什么?Deque是双端队列,可在头尾操作元素继承结构public interface Deque<E> extends Queue<E> {}操作集合元素添加元素以下提供了头尾添加元素,区别是队列满时add抛出异常,offer返回falsevoid addFirst(E e);vo原创 2021-12-13 14:56:36 · 793 阅读 · 0 评论 -
Java集合——Map和Entry接口介绍
Map和EntryMap和Entry是什么?Map源码Entry源码Map和Entry是什么?Map是独立的接口,为所有映射结构(Key-Value)的数据提供了统一接口Entry是Map的内部接口,用于存储键值Map源码下面的空格将源码分类:获取集合大小和判空、增-删-获取(默认获取)-查存在-清空、获取键集/值集/键值集、从Object继承的方法、foreach方法、replace方法、compute方法、merge方法public interface Map<K, V> {原创 2021-12-17 15:29:50 · 2808 阅读 · 0 评论 -
Java集合——AbstractCollection源码解析
AbstractCollectionAbstractCollection是什么?继承结构构造函数获取迭代器获取大小和判空操作集合元素添加删除求交集是否存在清除集合转换为数组toString方法AbstractCollection是什么?AbstractCollection是Collection抽象实现类,为一些通用的方法提供实现,并为所有抽象实现类提供统一父类继承结构public abstract class AbstractCollection<E> implements Collec原创 2021-12-04 11:44:50 · 773 阅读 · 0 评论 -
Java集合——AbstractList源码解析
AbstractListAbstractList是什么?继承结构构造函数操作集合元素添加元素获取元素设置元素删除元素全清获取下标equals和hashCode域获取迭代器迭代器——Itr内部类迭代器——ListItr内部类获取字串和类获取字串子串——SubList类(以下是类介绍)继承结构域构造函数检查设置元素获取元素获取大小增加元素删除元素获取迭代器获取子串的子串子串——RandomAccessSubList类AbstractList是什么?AbstractList是AbstractCollectio原创 2021-12-09 10:17:26 · 1053 阅读 · 0 评论 -
Java集合——ArrayList源码解析
ArrayList源码解析ArrayList是什么?继承结构域构造函数扩容获取大小和判空截断克隆转为数组操作集合是否包含元素和获取下标获取元素设置元素添加元素添加集合删除单个元素删除范围元素求差集和交集全清序列化和反序列化获取迭代器迭代器——Itr内部类迭代器——ListItr内部类forEach和spliterator()不讲获取子串字串——SubList类(以下是类介绍)继承结构域构造函数设置元素获取元素获取大小添加元素删除元素获取迭代器获取子串的子串子串spliterator(子串没有重写forEac原创 2021-12-11 11:29:26 · 1582 阅读 · 1 评论 -
Java集合——Vector源码解析
VectorVector是什么?继承结构域构造函数转为数组截断设置大小获取数组容量、实际大小和判空扩容是否包含和获取索引操作集合获取数据设置数据删除元素添加数据获取迭代器Vector是什么?Vector是基于数组实现的随机访问的同步的List结构,其public方法都是加锁的(加锁后不再需要临时变量保持原子性)继承结构继承了AbstractList,实现了List,并实现了三个标记接口RandomAccess、Cloneable、Serializablepublic class Vector<原创 2021-12-16 18:36:45 · 1054 阅读 · 0 评论 -
Java集合——Stack源码解析
StackStack是什么?继承结构构造方法域推查看拉判空查Stack是什么?Stack是基于数组实现的栈结构,具有先进后出的特性继承结构继承了Vectorpublic class Stack<E> extends Vector<E> {}构造方法public Stack() {}域private static final long serialVersionUID = 1224463164541339165L;推调用父类Vector.addEleme原创 2021-12-16 19:29:12 · 386 阅读 · 0 评论 -
Java集合——AbstractSequentialList源码解析
这里写目录标题AbstractSequentialList继承结构构造函数操作集合获取元素设置元素添加元素添加集合删除元素获取迭代器AbstractSequentialListAbstractSequentialList为顺序访问的List结构提供了抽象父类,其子类为LinkedList继承结构public abstract class AbstractSequentialList<E> extends AbstractList<E> {}构造函数protected原创 2021-12-13 10:39:10 · 561 阅读 · 0 评论 -
Java集合——LinkedListed源码解析
LinkedListedLinkedListed是什么?继承结构节点——Node类返回指定位置节点域构造函数检查链接头尾节点和指定位置链接节点(private或default)断开头尾节点和断开指定节点(private或default)操作集合获取元素删除元素全清元素添加元素添加集合设置元素获取大小是否包含和获取索引获取迭代器获取反迭代器(适配器模式最好例子)克隆转换为数组序列化和反序列化spliterator()和LLSpliterator类LinkedListed是什么?LinkedListed是基原创 2021-12-15 10:12:25 · 1676 阅读 · 0 评论 -
Java集合——AbstractMap源码解析
AbstractMapAbstractMap是什么?继承结构构造函数获取大小和判断是否包含键值操作集合获取值添加值添加集合删除值全清获取视图三个视图关系(重点必看)键集值集键值集equalshashCodetoStringclone比较SimpleEntrySimpleImmutableEntryAbstractMap是什么?AbstractList是Map的抽象子类,为一些通用的方法提供实现继承结构public abstract class AbstractMap<K,V> imple原创 2021-12-18 10:35:03 · 991 阅读 · 0 评论 -
Java集合——HashMap源码解析
HashMapHashMap是什么?继承结构数据节点域tableSizeFor(protect)构造函数操作集合添加集合散列comparableClassForcompareComparablesHashMap是什么?HashMap是基于散列表实现的Map,对键的存储进行散列继承结构public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializa原创 2022-02-16 10:08:39 · 1644 阅读 · 0 评论