
java集合部分深化理解
文章平均质量分 92
Mr_GGI
未来从此开始,一个正在努力的程序员
展开
-
java集合部分:如何理解ArrayList?
什么是 ArrayListArrayList 是 Java 集合框架中List接口的一个实现类。可以说 ArrayList 是我们使用最多的 List 集合,它有以下特点:1.容量不固定,想放多少放多少(当然有最大阈值,但一般达不到)2.有序的(元素输出顺序与输入顺序一致)3.元素可以为 null4.效率高(1)size(), isEmpty(), get(), set() iterator(), ListIterator() 方法的时间复杂度都是 O(1)(2)add() .原创 2021-10-28 16:00:17 · 164 阅读 · 0 评论 -
java集合部分:如何理解AbstractList?
什么是 AbstractListAbstractList 继承自 AbstractCollection抽象类AbstractCollection 抽象类,实现了List接口,是 ArrayList 和AbstractSequentiaList 的父类。它实现了 List 的一些位置相关操作(比如 get,set,add,remove),是第一个实现随机访问方法的集合类,但不支持添加和替换。在AbstractCollection 抽象类AbstractCollection...原创 2021-10-28 15:00:24 · 152 阅读 · 0 评论 -
java集合部分:如何理解AbstractCollection?
什么是 AbstractCollectionAbstractCollection 是 Java 集合框架中Collection 接口的一个直接实现类, Collection 下的大多数子类都继承 AbstractCollection ,比如 List 的实现类, Set的实现类。它实现了一些方法,也定义了几个抽象方法留给子类实现,因此它是一个抽象类。抽象方法public abstract Iterator<E> iterator(); public abstra...原创 2021-10-27 17:41:49 · 248 阅读 · 0 评论 -
java集合部分:如何理解List<E> 接口?
Collection 中我们熟悉了 Java 集合框架的基本概念和优点,也了解了根接口之一的 Collection,这篇文章来加深 Collection 的子接口之一List的熟悉。List 接口一个 List 是一个元素有序的、可以重复、可以为 null 的集合(有时候我们也叫它“序列”)。Java 集合框架中最常使用的几种 List 实现类是 ArrayList,LinkedList 和 Vector。在各种 List 中,最好的做法是以 ArrayList 作为默认选择。 当...原创 2021-10-25 14:48:55 · 846 阅读 · 0 评论 -
java集合部分:如何理解Collection?
什么是集合?集合,或者叫容器,是一个包含多个元素的对象; 集合可以对数据进行存储,检索,操作; 它们可以把许多个体组织成一个整体: 比如一副扑克牌(许多牌组成的集合); 比如一个电话本(许多姓名和号码的映射)。 什么是集合框架?集合框架是一个代表、操作集合的统一架构。所有的集合框架都包含以下几点:接口:表示集合的抽象数据类型。接口允许我们操作集合时不必关注具体实现,从而达到“多态”。在面向对象编程语言中,接口通常用来形成规范。实现类:集合接口的具体实现,是重用性很高的数据结构。算法:用原创 2021-10-22 17:32:50 · 202 阅读 · 0 评论 -
java集合部分:如何理解ListIterator?
ListIterator根据官方文档介绍, ListIterator 有以下功能:第一,允许我们向前、向后两个方向遍历 List;第二,在遍历时修改 List 的元素;第三,遍历时获取迭代器当前游标所在位置。注意,迭代器 没有当前所在元素一说,它只有一个游标( cursor )的概念,这个游标总是在元素之间,比如这样:初始时它在第 0 个元素之前,调用 next() 游标后移一位:调用 previous() 游标就会回到之前位置。当向后遍历完元素,游标就会在元素 N 的后面:.原创 2021-10-22 15:11:54 · 369 阅读 · 0 评论 -
java集合部分:如何理解LinkedList?
链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的地址。链表可分为单向链表和双向链表。一个单向链表包含两个值: 当前节点的值和一个指向下一个节点的链接。一个双向链表有三个整数值: 数值、向后的节点链接、向前的节点链接。Java LinkedList(链表) 类似于 ArrayList,是一种常用的数据容器。与 ArrayList 相比,LinkedList 的增加和删除的操作效率更高,而查找和修原创 2021-10-21 15:42:02 · 232 阅读 · 0 评论 -
java集合部分:如何理解Iterator?
Java 提供的 集合类都在 Java.utils 包下,其中包含了很多 List, Set, Map, Queue… 它们的关系如下面这张类图所示:可以看到,Java 集合主要分为两类:Collection 和 Map. 而 Collection 又继承了 Iterable< E > 接口,Iterable 接口内只有一个 iterator 方法,返回一个 Iterator 迭代器:public interface Iterable<T> { /** ...原创 2021-10-21 16:41:00 · 248 阅读 · 0 评论