一、概念:
集合是存储对象数据的集合容器。
/*面试题:
* 数组和集合的区别?
* 1)长度区别:
* 数组长度固定
* 集合长度可变
* 2)内容的区别
* 数组可以存储同一种类型的元素
* 集合可以存储多种类型的元素
* 3)存储类型的区别
* 数组:可以存储基本类型,也可以存储引用类型 String[] str = {"hello","world","java",100} ; 错误的
* 集合:只能存储引用类型
*/
二、 基本功能:
1)添加功能:
boolean add(Object e);
2)删除功能:
3) void clear() :删除集合中所有元素(暴力删除);
boolean remove(Object o):删除集合中的指定元素;
4)判断功能:
boolean contains(Object o):集合中是否包含指定的元素;
5) 获取功能:
2)删除功能:
3) void clear() :删除集合中所有元素(暴力删除);
boolean remove(Object o):删除集合中的指定元素;
4)判断功能:
boolean contains(Object o):集合中是否包含指定的元素;
5) 获取功能:
int size() :获取集合中的元素数。
三、高级功能:
1)boolean addAll(Collection c) :添加一个集合中的所有元素;

2) boolean removeAll(Collection c)::删除一个算是删除...

3) boolean containsAll(Collection c)::包含所有算是包含;

4) boolean retainAll(Collection c):A集合对B集合取交集,交集的元素要去A集合中,boolean返回值表达的A集合的元素是否发生变化,如果发生变化,则返回true,否则,返回false。

5)转换功能:Object[] toArray() :将集合转换成数组;

四、迭代器:
1. Iterator iterator() :集合的迭代器方法(获取集合的迭代器).
集合的专有遍历方式:迭代器遍历。
2.

2.
Iterator :接口中有以下的方法:
boolean hasNext() :如果有元素可以迭代,那么返回true,否则返回false.
Object next()返回迭代的下一个元素。
存储String类型的元素。
boolean hasNext() :如果有元素可以迭代,那么返回true,否则返回false.
Object next()返回迭代的下一个元素。
存储String类型的元素。
it.next(),只使用一次即可,使用多次,会出现问题(it.next(),每次使用的时候都是返回一个对象).
五、list:
/*Collection有两个子接口:List Set。
迭代器:Iterator iterator() ;*/
1.
迭代器:Iterator iterator() ;*/
1.
List集合的特点:
有序的 (存储和取出一致),可以允许重复元素.
Set集合的特点:
无序性(不能保证迭代的顺序,基于hashMap),并且元素不能重复.
有序的 (存储和取出一致),可以允许重复元素.
Set集合的特点:
无序性(不能保证迭代的顺序,基于hashMap),并且元素不能重复.
2.特有功能:
1)添加功能
void add(int index,Object element):在指定位置处添加指定元素。
void add(int index,Object element):在指定位置处添加指定元素。

2) 获取功能
Object get(int index)返回列表中指定位置的元素。

3) 删除功能:
Object remove(int index):删除指定位置处的元素。
Object remove(int index):删除指定位置处的元素。

4) 修改功能
Object set(int index, Object element):用指定element元素替换掉指定位置处的元素。

3.
1) ListIterator listIterator():列表迭代器 (List集合的专有迭代遍历:列表迭代器)

2) ListIterator接口中:
boolean hasNext() :判断是否有下一个可以迭代的元素(正向遍历)

Object next():获取下一个元素
boolean hasPrevious():判断是否有上一个可以迭代 元素(逆向遍历)

Object previous():返回上一个元素
// 逆向迭代(遍历),单独使用没意义,前提,要先正向遍历
4.
//存储自定义对象并遍历
size()和get(int index):相结合, 普通for循环的方式。

5.注意事项:
使用迭代器遍历元素,不能使用集合添加元素!
/*
List集合有三个子实现类:
ArrayList:
底层数据结构式数组结构,查询块,增删慢
从内存角度考虑:线程不安全的,不同步的,执行效率高
多线程:synchronized :同步的意思 解决线程安全问题
sychronized(锁对象){ 同步代码
共享数据;
}
解决线程安全问题,通过同步可以解决,但是效率低了...
LinkedList:
:底层数据结构式链表结构,查询慢,增删块
从内存角度考虑:线程不安全,不同步,执行效率高
Vector:
这是一个线程安全的类,
底层数据结构是数组:查询快,增删慢
线程安全的,同步,执行效率低!
*/
ArrayList:
底层数据结构式数组结构,查询块,增删慢
从内存角度考虑:线程不安全的,不同步的,执行效率高
多线程:synchronized :同步的意思 解决线程安全问题
sychronized(锁对象){ 同步代码
共享数据;
}
解决线程安全问题,通过同步可以解决,但是效率低了...
LinkedList:
:底层数据结构式链表结构,查询慢,增删块
从内存角度考虑:线程不安全,不同步,执行效率高
Vector:
这是一个线程安全的类,
底层数据结构是数组:查询快,增删慢
线程安全的,同步,执行效率低!
*/