随笔分类 -  Java集合源码分析

本系列主要是为了巩固Java集合,包括List、Set、Map及其实现类的分析。
摘要:实现方式 ArrayList,Vector 是基于数组的实现。 LinkedList 是基于链表的实现。 ​ 同步 ArrayList,LinkedList 不是线程安全的。 Vector 是线程安全的,实现方式是在方法中加 synchronized 进行限定。 性能消耗 ArrayList和Vec 阅读全文
posted @ 2017-11-26 17:31 山川尽美 阅读(587) 评论(0) 推荐(1)
摘要:LinkedList简介 实现了List和Deque接口,既可以看作一个顺序容器,又可以看作一个队列( Queue ),同时又可以看作一个栈( Stack )(处理栈和队列问题,首选ArrayDeque,它的性能比LinkedList作栈和队列使用好很多)。 LinkedList是一种双向链表,通过 阅读全文
posted @ 2017-11-26 17:12 山川尽美 阅读(349) 评论(0) 推荐(0)
摘要:Vector简介 和ArrayList一样,Vector也是基于数组实现的,是动态数组,容量可自动增长。 与ArrayList不同的是,它有好多方法都加入了 修饰,所以是线程安全的,可用于多线程环境。 Vector没有实现Serializable接口,不支持序列化,实现了Cloneable接口,能被 阅读全文
posted @ 2017-11-24 14:57 山川尽美 阅读(234) 评论(0) 推荐(0)
摘要:ArrayList简介 ArrayList是基于数组实现的, 是一个动态扩展的数组,容量可自动增长。 ArrayList是非线程安全的,只能在单线程环境下使用,多线程环境考虑使用Collections.synchronizedList(List list)函数返回一个线程安全的ArrayList类, 阅读全文
posted @ 2017-11-24 14:08 山川尽美 阅读(276) 评论(0) 推荐(1)