
集合框架
集合框架
test123sadsad
好记性不如烂笔头
展开
-
集合框架总结与开发遇到的问题
Java集合框架的基础接口有哪些?Collection为集合层级的根接口。一个集合代表一组对象,这些对象即为它的元素。Java平台不提供这个接口任何直接的实现。Set是一个不能包含重复元素的集合。这个接口对数学集合抽象进行建模,被用来代表集合,就如一副牌List是一个有序集合,可以包含重复元素。你可以通过它的索引来访问任何元素。List更像长度动态变换的数组。Map是一个将...原创 2020-04-08 07:55:49 · 237 阅读 · 0 评论 -
HashSet、LinkedHashSet学习笔记
一个不包含重复元素的 collection。更确切地讲,set 不包含满足 e1.equals(e2) 的元素对 e1 和 e2,并且最多包含一个 null 元素。正如其名称所暗示的,此接口模仿了数学上的 set 抽象。注:如果将可变对象用作 set 元素,那么必须极其小心。如果对象是 set 中某个元素,以一种影响 equals 比较的方式改变对象的值,那么 set 的行为就是不确定的。此项...原创 2020-04-08 07:55:37 · 166 阅读 · 0 评论 -
Iterable、Collection、AbstractConlltion、List学习笔记
类图Iterable集合框架最顶端的接口,实现接口的遍历。迭代器接口可进行迭代的接口public interface Iterable<T> { Iterator<T> iterator(); default void forEach(Consumer<? super T> action) { Objects.requi...原创 2020-04-07 14:50:52 · 221 阅读 · 0 评论 -
LinkedList学习笔记
一、前言前面文章写了关于ArrayList的源码解读,今天也正好把LinkedList一些方法的源码也研究一下。二、LinkedList特点基于双向列表,查询速度慢,增删改速度快三、LinkedList的继承实现关系public class LinkedList<E> extends AbstractSequentialList<E> ...原创 2020-04-07 14:49:08 · 138 阅读 · 0 评论 -
LinkedHashMap学习笔记
LinkedHashMap概述LinkedHashMap数据结构相比较于HashMap来说,添加了双向指针,分别指向前一个节点——before和后一个节点——after,从而将所有的节点已链表的形式串联一起来//HashMap里面的方法在LinkedHashMap进行了重写 void afterNodeAccess(Node<K,V> p) { } void afte...原创 2020-04-07 14:45:32 · 251 阅读 · 0 评论 -
Map、AbstractMap学习笔记
Map是一个有键值映射的,但不包括相同key,每个key至多对应一个value。这个接口替代了Dictionary这个类,Dictionary是抽象类而非接口.除了一些基本的方法。只要看一下JDK1.8新增的方法getOrDefault(Object key, V defaultValue) default V getOrDefault(Object key, V defaultVa...原创 2020-04-07 14:45:00 · 350 阅读 · 0 评论 -
HashMap学习笔记
概述HashMap 主要用来存放键值对,它基于哈希表的Map接口实现,是常用的Java集合之一。JDK1.8 之前 HashMap 由 数组+链表 组成的,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突而存在的(“拉链法”解决冲突).JDK1.8 以后在解决哈希冲突时有了较大的变化,当链表长度大于阈值(默认为 8)时,将链表转化为红黑树(将链表转换成红黑树前会判断,如果当前数组的...原创 2020-04-07 14:05:01 · 246 阅读 · 0 评论 -
ArrayList学习笔记
一、前言一直都只是会用ArrayList,对于ArrayList的理解都比较简单。正好借此机会也把自己观看源码的一些理解写出来。方便自己以后回顾。使用的版本是JDK1.8。二、ArrayList特点随机访问速度快,插入和移除性能较差(数组的特点),支持null元素,有顺序,元素可以重复,线程不安全。三、数组扩容所使用到的API1、直接将数组容量扩容至一个固定值。生成一个新的数组 O...原创 2020-04-07 14:01:25 · 164 阅读 · 0 评论