java中集合类和队列
2016-03-01 20:02
387 查看
java中集合类和队列
1 集合类
collection 下面的 list,set,queuelist的主要实现类:
ArrayList
底层采用数组
LinkedList
底层采用链表
set的主要实现类:
HashSet
采用hash算法,不能重复,无限,不保证FIFO
TreeSet
采用BST树,有序
queue的主要实现类:
LinkedList
底层采用链表,FIFO,运行重复
LinkedBlockingQueue
容量没有限制,默认是Integer.max_value,带有阻塞
ArrayBlockingQueue
容量同样没有限制,带有阻塞
PriorityBlockingQueue
带有优先级的阻塞队列,优先级越高,越先出队
DelayQueue
带有延迟的阻塞队列,带有一个延迟时间,如果队列中所以线程等待时间都没有超过这个延迟时间,则队列头没有元素,不能出队
如果有超过延迟时间的线程,等待时间最长的在队头
map下面的实现类
HashMap
在上一篇blog中已经详细介绍了HashMap,这里就不画蛇添足了
HashTable
与hashmap差不多,但是有一个最大的区别就是hashtable是线程安全的,而hashmap是非线程安全的,因此多线程访问hashmap时需要加同
步操作,而hashtable不需要
相关文章推荐
- java获取泛型参数的类型的方法 - 实例讲解
- Java实现几种常见排序算法代码
- 告别乱码,针对GBK、UTF-8两种编码的智能URL解码器的java实现(转)
- 堆排序的java实现
- SpringMVC源码解析- HandlerAdapter - ModelFactory(转)
- 2016年3月1日
- 入门:Spring MVC
- 在eclipse上编写好一个Java程序后,怎么自动的导入程序需要的包?
- 在Java类中按@没有提示信息
- spring框架
- Java字符串排列算法
- Java学习---四种基本数据类型
- Spring MVC入门
- HashMap赋值的问题【注意Map不能用=赋值】
- Hibernate 入门教程(纯Eclipse版)
- Leetcode: 206. Reverse Linked List(JAVA)
- 关于在eclipse中导入android support design包出错的问题【不定时更新】
- JAVA多线程协作实例学习--“生产者-消费者”进程
- Java finalize() 和System.gc()
- 高精度(java)