JAVA中的容器
来源:互联网 发布:哲学社会科学数据库 编辑:程序博客网 时间:2024/06/05 01:03
Java容器类包含List、LinkedList、ArrayList、Vector及map、HashTable、HashMap
Collection
└List 接口
├LinkedList 链表
├ArrayList 顺序结构动态数组类
└Vector 向量
└Stack 栈
Map
├Hashtable
└HashMap
LinkedList、ArrayList和HashMap是异步的,Vector和HashTable是同步的,所以Vector和HashTable是线程安全的,而LinkedList、ArrayList和HashMap并不是线程安全的。因为同步需要花费机器时间,所以Vector和HashTable的执行效率要低于LinkedList、ArrayList和HashMap。
如果涉及到堆栈,队列等操作,应该考虑用List,对于需要快速插入,删除元素,应该使用LinkedList,如果需要快速随机访问元素,应该使用ArrayList。
如果程序在单线程环境中,或者访问仅仅在一个线程中进行,考虑非同步的类,其效率较高,如果多个线程可能同时操作一个类,应该使用同步的类。
要特别注意对哈希表的操作,作为key的对象要正确复写equals和hashCode方法。
尽量返回接口而非实际的类型,如返回List而非ArrayList,这样如果以后需要将ArrayList换成LinkedList时,客户端代码不用改变。这就是针对抽象编程。
参考自: http://www.2cto.com/kf/201201/117360.html
- Java中的容器
- JAVA中的容器arraylist
- java中的容器
- Java中的容器讲解
- Java中的容器
- Java中的缓存容器
- Java中的容器
- java中的容器类
- Java中的容器类
- Java中的容器类
- Java中的容器类
- Java中的容器类
- JAVA中的容器
- java中的各种容器
- java中的容器类
- java中的容器讲解
- Java中的容器
- Java中的容器
- Linux 内核 SCSI IO 子系统分析
- uva 112 - Tree Summing
- 另类弹窗十倍放大流量
- 学习:10位IT领袖的10条道
- JavaScript弹出窗口以及窗口间的通信
- JAVA中的容器
- python学习笔记
- 基于msp430小车驱动,寻光设计,超声波测距
- DP【状态压缩 】 <简单?> hlg 1473
- sdwriter脚本分析
- Windows 8于10月26日正式发售:主要功能解析
- 模拟算法
- 【转】关于SAP的用户出口 SAP的用户功能增强
- hdu 1269