关于ArrayList和LinkedList这两个集合类的性能,网上很多文章表示:ArrayList的插入性能要比LinkedList差。今天突然想测试下,这个结论是否准确。编写了如下代码:importjava.util.ArrayList;
importjava.util.LinkedList;
importjava.util.List;
publicclassDemo{
publics..
分类:
编程语言 时间:
2016-07-20 23:10:06
阅读次数:
309
ArrayList继承自AbstractList抽象类,实现了List接口。publicclassArrayList<E>extendsAbstractList<E>
implementsList<E>,RandomAccess,Cloneable,java.io.SerializableArrayList类中存储数据用的是Object类型的数组privatetransientObject[]elementData;此..
分类:
编程语言 时间:
2016-07-20 19:51:00
阅读次数:
198
基于JDK 1.7,和ArrayList进行比较分析Java已经有了ArrayList,用来存放元素,对元素的操作都很方便。为什么还会有LinkedList呢?我们都知道ArrayList获取元素很快,但是插入一个元素很慢,因为ArrayList底层维护的是一个数组,往数组中的某个位置插入一个元素,是很消耗资源的。而LinkedList插入元素很快,获取任意位置的元素却很慢。这是为什么呢?底层又是怎...
分类:
编程语言 时间:
2016-07-16 23:57:07
阅读次数:
537
集合类库是Java的一个重大突破,方便了我们对大数据的操作。其中 Arrays 和 Collections 工具类可以帮助我们快速操作集合类库。ArrayList的继承结构图继承自 AbstractList 抽象类,在上层是 AbstractCollection 抽象类,直接去 AbstractCollection 类去看看。AbstractCollection 类主要实现了 Collection...
分类:
编程语言 时间:
2016-07-10 06:26:51
阅读次数:
286
java集合类主要负责保存、盛装其他数据,因此集合类也称容器类。java集合类分为:Set:不区分元素的顺序,不允许出现重复的值list:区分元素的顺序,且允许出现重复的值map:采用key——values的,不允许有重复的键,每个键最多对应一个值java集合只能保存引用类型的数据,是对象的引用Co... ...
分类:
编程语言 时间:
2016-07-03 15:33:41
阅读次数:
168
集合类源码剖析hashmap初始化
默认容量DEFAULT_INITIAL_CAPACITY是16
默认负载因子DEFAULT_LOAD_FACTOR是0.75
若指定初始容量initialCapacity,如果大于MAXIMUM_CAPACITY,会重置为MAXIMUM_CAPACITY,最终的容量一般不等于initialCapacity,因为hashmap的容量一定是2的幂int capacit...
分类:
编程语言 时间:
2016-06-21 07:32:30
阅读次数:
173
开始!目录面向对象编程(OOP)常见的Java问题Java线程Java集合类垃圾收集器异常处理Java小应用程序(Applet)SwingJDBC远程方法调用(RMI)ServletJSP 面向对象编程(OOP) Java是一个支持并发、基于类和面向对象的计算机编程语言。下面列出了面向对象软件开发的 ...
分类:
编程语言 时间:
2016-06-15 20:43:51
阅读次数:
206
1. Java集合类操作优化经验总结 http://www.codeceo.com/article/java-collection-class.html 2. HashSet和HashMap源码剖析 http://www.codeceo.com/article/java-hashset-hashma ...
分类:
编程语言 时间:
2016-06-15 12:42:50
阅读次数:
188
综合前面的介绍和实例代码,我们可以知道,如果涉及到堆栈、队列等操作,应该考虑用 List。对于需要快速插入、删除元素等操作,应该使用 LinkedList。如果需要快速随机访问元素,应该使用 ArrayList。如果程序在单线程环境中,或者访问仅仅在一个线程中进行,考虑非同步的类,其效率较高。如果多个线程可能同时操作一个类,应该使用同步的类。要特别注意对哈希表的操作,作为 Key 的对象要正确复写 Equals 和 HashCode 方法。尽量返回接口而非实际的类型,如返回 List 而非 ArrayLis...
分类:
编程语言 时间:
2016-05-23 15:14:20
阅读次数:
164