java集合框架详解
一、数组和集合的比较 数组不是面向对象的,存在明显的缺陷,集合弥补了数组的缺点,比数组更灵活更实用,而且不同的集合框架类可适用不同场合。如下: 1 :数组能存放基本数据类型和对象,而集合类存放的都是对象的引用,而非对象本身! 2 :数组容易固定无法动态改变,集合类容量动态改变。 3 :数组无法判断其中实际存有多少元素, length 只告诉了数组的容量,而集合的 size() 可以确切知道元素的个数 4 :集合有多种实现方式和不同适用场合,不像数组仅采用顺序表方式 5 :集合以类的形式存在,具有封装、继承、多态等类的特性,通过简单的方法和属性即可实现各种复杂操作,大大提高了软件的开发效率 二、 Java 集合 此图可用 Windows 系统自带画图工具查看比较清晰 Collection 和 Map ,是集合框架的根接口。 Collection 的子接口: Set: 接口 --- 实现类: HashSet 、 LinkedHashSet Set 的子接口 SortedSet 接口 --- 实现类: TreeSet List: 接口 --- 实现类: LinkedList,Vector,ArrayList List 集合 有序列表,允许存放重复的元素; 实现类: ArrayList :数组实现,查询快,增删慢,轻量级; ( 线程不安全 ) LinkedList :双向链表实现,增删快