1.容器类:
容器类是java以类库的形式供有用户开发程序时可直接使用的各种数据结构。
2.java容器框架中有两个名称分别为Collection和Set的接口,为防止名称的冲突,本书将
Collection译为容器,而将Set译为集合
3.java容器框架结构由两棵接口树构成,第一棵树根节点为Collection接口,它定义了
所有容器的基本操作,如添加、删除、遍历等。它的子接口Set、List等则提供了更加特殊
的功能,其中Set的对象用于存储一组不重复的元素集合,而List的对象用于存储一个由元素
构成的线性表。第二课树节点为Map接口,它保持了“键”到“值”的映射,可以通过键来
实现对值得快速访问
4.容器接口Collection:
Collection<E>接口的常用方法,其中的方法默认为public abstract。由于容器框架全部
采用泛型实现,所以我们以泛型的形式给出相应的方法,即带类型参数
5.列表接口List
列表接口List是Collection的子接口,它是一种包含有序元素的线性表,其中的元素必须按
顺序存放,且可重复,也可以是空值null
6.元素之间的顺序关系可以由添加到列表的先后来决定,也可由元素的大小来决定。List接口
使用下标来访问元素。下标范围为0-size()-1.常用方法默认为public abstract
7.实现List接口的类主要有两个:链表类LinkedList和数组列表类ArrayList.它们都是线性表
8.LinkedList链表类采用链表结构保存对象,使用循环双链表实现List。这种结构向链表中
任意位置插入、删除元素时不需要移动其他元素,链表的大小是可以动态增大或减小的,
但不具有随机存取特性
9.ArrayList数组列表类使用一维数组类实现List,该类实现的是可变数组,允许所有元素包括
null。具有随机存取特性,插入、删除元素需要移动其他元素,当元素很多时,插入、删除
的操作很慢。在向ArrayList中天际元素时,其容量会自动增大,但不能自动缩小,但可以用
trimToSizie()方法将数组的容量减小到数组列表的大小
10.如何选用这两种线性表?通常原则为:若要通过下标随机访问元素,但除了在末尾处之外
不在其他位置插入或删除元素,则应该选择arrayList类,但若需要在线性表的任意位置进行
插入或删除操作,则应选择LinkedList类
11使用线性表时通常声明为List<E>类型,然后通过不同的实现类来实例化列表。如
List<String> list1 = new LinkedList<String>();
List<String> list1 = new ArrayList<String>();
LinkedList<E>l类与ArrayList<E>类大部分方法是继承其父类或祖先类,除此之外还定义了
各自的方法
总结:今天简单的了解了容器的概念就是相当于程序中的各种数据结构
数据结构又分为总的两种一种是Collection容器两外一种就是Set集合
容器Collection中又有List列表,它又有两个子类LinkedList和ArrayList类