集合 泛型 迭代器 增强for 集合唯一性判定

1 集合

1.1 集合概述
集合是一个存储容器,只能存储引用类型对象,不存储基本数据类型,8种基本类型对应有8种引用类型,转化后可存入集合
集合长度可变,数组长度固定

1.2 集合继承体系

ArrayList类继承了抽象类AbstractList同时实现List接口,而List接口又继承了Collection接口。
这说明我们在使用ArrayList类时,该类已经把所有抽象方法进行了重写。那么,实现Collection接口的所有子类都会进行方法重写。

1.3 List接口
List:可存储重复元素,存取有序(存储和取出的顺序一致),有下标
ArrayList:底层采用数组实现,初始容量是10,每次增长50%,线程不同步的集合,查询快,增删慢
LinkedList:底层采用链表数据结构,线程不同步的集合,查询慢,增删块

List接口的特点
存取有序,带索引,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道理),可重复,通过元素的equals方法,来比较是否为重复元素。

List接口特有方法
List接口特有方法即带索引的方法
add(Object e): 向末尾添加元素
add(int index, Object e):向指定索引处添加,原有元素依次后移。带索引的操作,防止越界问题
remove(Object e): 删除指定元素,并返回该元素
remove(int index): 删除指定索引处元素,并返回该元素
set(int index, Object e):替换指定索引处的元素,返回替换前的元素
get(int index): 获取指定索引处的元素,并返回该元素

1.3.1 ArrayList集合
定义格式
数据类型< 集合存储的数据类型> 变量名 = new 数据类型<集合存储的数据类型>();
ArrayList<String> array = new ArrayList<String>();
ArrayList<Integer> array2 = new ArrayList<Integer>();
ArrayList<Phone> array3 = new ArrayList<Phone>();

方法
add(int 索引,存储的元素) 添加元素到指定索引位置
set(int 索引,修改后的元素) 修改指定索引位置元素
remove(int 索引) 删除指定索引位置上的元素
clear() 清空集合中的所有元素

Set接口
Set:不允许存储重复元素,存取无序(存入和取出的顺序不一致),没有下标,
HashSet:底层结构是哈希表,线程不同步的集合
TreeSet:底层结构是二叉树,线程不同步的集合,元素需要进行自然顺序的排序

2 泛型

3 迭代器

4 增强for

5 集合唯一性判定

猜你喜欢

转载自www.cnblogs.com/createtable/p/10640044.html