1简单介绍一下Java集合类
位置:Java的所有集合类都在java.util包下,从JDK5.0开始为了处理多线程环境下的并发安全问题,又在java.util.concurrent包下提供了一些多线程支持的集合类。
内容:Java的集合类主要有两个接口派生而出:Collection和Map。
1.1Collection
Collection有三个子接口:List、Set、Queue
- List接口有序可重复
- Set接口无序不可重复
- Queue接口实现队列数据结构
1.1.1List接口有序可重复
- ArrayList:基于数组实现的,查询快,增删慢。
- LinkedList:基于双向链表结构实现的,采用二分查找,与ArrayList正好相反,它的增删快,查询慢。(实现List和Deque[ 双向队列]接口)
- Vector:基于数组实现的,查询快,增删慢,但它是线程安全的类(通过对方法加锁synchronized),一般不推荐使用。慢。
- Stack :Vector的派生类,是“栈”数据结构的应用,具有后进显出的特点,也是线程安全的,一般不推荐使用,因为效率比较低。