1.集合简介:
集合用于存放一组对象的,长度不固定(可扩容),对象的类型任意
与数组的区别:数组长度固定不可扩容,存放的元素数据类型必须一致,可存放基本数据类型和引用类型
2.集合体系结构中
Collection集合类的接口
常用方法
添加 boolean add(Object obj) addAll(Collection)
删除 boolean remove(Object obj) removeAll(Collection)
是否包含 boolean contains(Object obj) containsAll(Collection)
注意 :比较的类重写了equals与hashCode方法时,属性相等就是同一个对象
是否为空集合boolean isEmpty()
长度 size()
set接口:无序的不可重复的
子类:HashSet 底层是哈希表
TreeSet 底层是二叉树
List接口:有序的可重复的
子类:ArrayList 底层是数组.默认容量为10
LinkedList 底层是链表
ArrayList扩展的新方法:查询性能高
添加/插入 boolean add(下标,对象) 此处下标为0到集合size之间,包含0和size(),小于0或者大于size会越界异常
删除 Object remove(下标) 将给定下标的元素删除,并返回删除的对象
修改 set(下标,对象)
查询 Object get(下标) 返回指定下标的对象
int indexOf(对象) 返回指定对象的下标,如果对象不存在返回-1
int lastIndexOf(对象)返回指定对象的最后一个下标,如果对象不存在返回-1
listitrator()返回迭代器
hasNext()判断迭代器是否有下一个元素
next()下一个元素
LinkedList :插入和删除性能高
头部添加 addFirst()
尾部添加 addLast()
头部删除 removeFirst()
尾部删除removeLast()
头部获取getFirst()
尾部获取getLast()
6.Collections类
操作集合的工具类,方法都是Static修饰的,类名.方法名调用即可
常用方法:
sort(集合)排序
reverse(集合)反转
copy(新集合,旧集合)复制,必须保证新集合的大小至少是旧集合的大小,否则越界异常
min(集合)找集合中的最小值
max(集合)找集合中最大值