集合
- 数组: 相同类型,长度固定,有序
- 集合: 保存一系列任意类型元素且长度不固定的容器
- 特点
1.元素类型是任意
2.长度不固定
3.必须是对象
- 包:java.util
Collection 接口
jdk1.5:自动包装与自动解包装
针对基本类型和它对应的引用类型的互相转换
如:
int Integer
int i = 10;
Integer a1 = new Integer(i);
Integer a2 = Integer.valueOf(i);
int j = a1.intValue();
Integer a3 = 3;
j = a1;
jdk帮助自动完成
- Set:
1.无序
2.不重复Hashset:查询效率很快,用hash算法
- 先判断2个对象是否相等: 先判断hashCode(可重写)方法是否相等,如果相等那么继续判断equals(可重写)方法。
Treeset:底层是红黑树实现的 排序集合里的元素
- 集合里的元素原来是无序的
- 排序规则是可以自定义的
Comparable:自然排序 默认请款下,集合里面的对象需要实现该接口。
排序规则定义在compareTo方法之内
public int compareTo(Object o)
当前对象代表插入元素
参数o代表容器里面的元素
如果返回值是负数,那么放左边
如果是正数, 那么放右边
如果是0,不放入集合中
Comparator:比较器排序
- List:
1.有序
2.重复ArrayList:底层使用数组实现,查询速度快
LinkedList:底层使用链表实现,增删改效率高
- Map:
字典
键值对(key,value)
1.键是唯一的,值可以重复
2.如果存放相同的键值对,会进行覆盖值HashMap:查询速度快,键和值可以为null
TreeMap:根据键排序
- 迭代器
遍历访问集合的方式
如果集合想要使用迭代器,必须要实现Iterator接口
网友评论