java集合
文章平均质量分 61
Alvin-M
better And better!
展开
-
Collection探究之ArrayList
ArrayList是我们在平时使用的最多的集合类之一,其本质原理为由数组组成的链表。由数组的特性我们可以得知在查找数据时,可以根据数组的下标来快速定位我们想查询的数据,效率非常高。但是也具有相应的缺点,由于数组是连续的,所以在插入数据时会牵扯到数组的复制与扩容且在多线程环境下是不安全的,因此ArrayList适合查询多,数据插入少的场合。下面我们来对ArrayList的源码进行探究,俗话说的好,知己原创 2015-10-24 14:02:50 · 262 阅读 · 0 评论 -
Collection探究之HashMap
在讲hash map之前先简单的讲讲hashcode。hash意思为散列,它能将任意长度的输入,通过散列算法的计算,输出固定长度,该输出就为散列值(hashcode)。 为什么会需要hashcode呢?可以想象我们需要将不同的元素存放入集合,为了快速查找与区分它们,可以使用hash算法将各个元素映射成为固定长度的hashcode,如:王--1、而--2、你--3……这样,根据不同的hash原创 2015-11-01 09:11:10 · 370 阅读 · 0 评论 -
Collection探究之HashSet
HashSet存储元素的本质是利用HashMap的方法存储,所以存储的元素是无序的,不可重复的,每个存入的元素都是独一无二的,在HashSet中不允许存储null值。下面,我们来看下HashSet的源码。1. HashSet的定义public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, j原创 2015-11-07 09:02:16 · 325 阅读 · 0 评论 -
Collection探究之LinkedList
LinkedList与ArrayList一样都是List的实现类,但是它内部结构与ArrayList有着极大的不同。LinkedList内部是由一个双向的链表组成,由链表的特征我们可以知道,LinkedList它插入元素的效率非常高而要查找元素的话因为需要遍历整个链表所以性能比较差。1.LinkedList类定义public class LinkedList<E> extends Abstr原创 2015-10-25 09:35:01 · 431 阅读 · 0 评论 -
Collection探究之Vector
Vector与ArrayList一样内部是由数组组成的,它也是一个动态数组,但是由于其内部实现了线程安全机制,所以在性能方面较差,使用的次数也没有ArrayList那样频繁,下面我们来看一看Vector的源码。1.Vector的定义public class Vector<E> extends AbstractList<E> implements List<E>, RandomAcce原创 2015-10-31 09:37:18 · 402 阅读 · 0 评论