集合

集合

1.是什么?容器,存储数据。主要是放对象,当前台访问,将数据封装到一个对象,而对象可能是多个,在与数据库进行交互时,一般都用集合来存放数据。它的长度可变。

2.与数据比较:【1】 数组一旦声明,其长度固定,类型一致,不够灵活;【2】数组的插入,删除效率低。

3.底层原理:

4.分类:

(1)Collection:总的接口:无序且不唯一:两个子接口:List和Set。还有一个不常用的Vector接口。

List接口:有序但不唯一,添加顺序,有两个实现类:

ArryList:有序,不唯一;底层是数组。查询,修改快。

LinkList:无序,唯一。底层是链表。添加删除快。

Set接口:无序,唯一,两个实现类:HashSet和TreeSet。

HashSet:无序唯一,底层数据结构为哈希表。重写hashCode和equals方法。

TreeSet:有序唯一,底层为二叉树,但必须实现Comparable或Comparator接口。

(2)Map接口:键值对key,value形式存储数据,键不能重复,值可以。分别两个实现类:

HashSet:底层为哈希表,key无序,唯一。

TreeSet: 底层为二叉树,key有序,唯一。

(3)方法获得该对象的哈希码表,然后根据哈希吗找到相应的存储区域,最后取得该存储区域内的每个元素与该对象进行equals方法比较;

5.迭代器:collection继承iterable接口,遍历器。

(1)for(Iterator it=col1.iterator();it.hasNext();){

System.out.print(it.next()+"\t");

};

(2)加强for循环。

6.方法:

* 【1】增 add(Object obj) addAll(Collection col),add(int index,Object obj)

* 【2】删 clear(),  remove(Object obj)  ,Object  remove(int index)

* 【3】改 set(int index,Object obj)

* 【4】查size(),itrator(), listIterator(),get(int index)

* 【5】判 isEmpty(),contains(Object obj)

你可能感兴趣的:(集合)