1.体系概述
2.共性方法
集合中存储的都是对象的引用(地址)
添加:add
删除:remove
清空:clear
获取长度:size
判断:contains 是否包含
isEmpty 是否为空
retainAll 取交集
3.迭代器
获取迭代器:Iterator.next
4.List集合共性方法
特点:
List:元素是有序的,元素可以重复。因为该集合体系有索引。
Set:元素是无序的,不可以重复。
主要方法:
增:add(index,element);
addAll(index,Collection);
删:remove(index);
改:set(index,element);
查:get(index);
subList(from,to);
listIterator();
5.ListIterator 列表迭代器
是Iterator的子接口,针对在迭代时不可以通过集合对象的方法操作集合中的元素,会引发并发异常的情况使用列表迭代器。
6.List集合具体对象的特点
ArrayList:底层的数据结构使用的是数组结构。特点:查询数据很快,增删稍慢。线程不同步。
LinkedList:底层使用的是链表数据结构。特点:查询慢,增删快。
Vector:底层是数组数据结构。线程同步。增删都慢,被ArrayList替代了。
7.Vector中的枚举
Vector特有的取出方式:枚举
枚举被迭代取代
8.LinkedList
add/get/removeFirst();add/get/removeLast();
JDK1.6之后出现
offerFirst();offerLast();添加
peekFirst();peekLast();获取
pollFirst();pollLast();查找删除
9.LinkedList练习
使用LinkedList模拟一个堆栈或者队列数据结构
堆栈:先进后出
队列:先进先出
10.ArrayList练习
去除ArrayList集合中的重复元素
定义一个临时容器
遍历ArrayList集合中的元素
判断元素是否在新容器中,不存在就添加到新容器中
11.ArrayList练习2
将自定义对象作为元素存储到ArrayList集合中,并去除重复元素。比如存人对象,同姓名同年龄视为同一个人,为重复元素。
对人描述,封装成对象
定义容器,将人存入
取出
12.HashSet
13.HashSet存储自定义对象
HashSet是如何保证元素唯一性的呢?
是通过元素的两个方法,hashCode和equals来完成
如果元素的hashCode值相同才会判断equals是否为true。
如果元素的hashCode值不相同,不会调用equals。
14.HashSet判断和删除的依据
对于判断元素是否存在以及删除等操作,依赖的方法是元素的hashCode和equals方法。
|