Java中的容器

来源:互联网 发布:盛科网络待遇怎么样 编辑:程序博客网 时间:2024/06/05 04:35

Java中的容器主要分为两类:Collection和Map。

Collection
├List       接口
│├LinkedList       链表
│├ArrayList        顺序结构动态数组类
│└Vector        向量
│ └Stack       栈
└Set(Hashset Treeset)

Map
├Hashtable
├HashMap
└WeakHashMap List接口

其中HashTable和Vector是线程安全的。

① 如果涉及到堆栈,队列等操作,应该考虑用List,对于需要快速插入,删除元素,应该使用LinkedList,如果需要快速随机访问元素,应该使用ArrayList。其中ArrayList底层用数组实现。LinkedList底层用双向链表实现。
 ②如果程序在单线程环境中,或者访问仅仅在一个线程中进行,考虑非同步的类,其效率较高,如果多个线程可能同时操作一个类,应该使用同步的类。
 ③要特别注意对哈希表的操作,作为key的对象要正确复写equals和hashCode方法。
 ④尽量返回接口而非实际的类型,如返回List而非ArrayList,这样如果以后需要将ArrayList换成LinkedList时,客户端代码不用改变。这就是针对抽象编程

⑤Java容器有一种保护机制,能够防止多个进程同时修改同一个容器的内容。
原创粉丝点击