集合框架
集合框架体系结构:无序,不唯一
1:conllection(接口)
List接口:有序,不唯一
ArrayList:底层是数组结构,
LinkedList:底层是链表结构,
Set接口:无序,唯一
HashSet
TreeSet
2:ArrayList实现类(常用方法)
boolean add(Object o);直接添加
void add(int index,Object o)按照指定下标添加
int size();返回集合长度
Object get(int index)通过下标获取值
boolean contains(Object o)判断元素是否存在
boolean remove(Object o) 直接删除元素
Object remove(int index)按照下标删除元素,返回一个被删除的对象
3:LinkedList实现类(常用方法)
- 和ArrayList方法多出了几个方法
- void addFirst()添加到集合中第一个位置
- void addLast()添加到末尾
- Object removeFirst()删除第一个
- Object removeLast()删除最后一个
- Object getFirst()获取第一个
- Object getLast()获取最后一个
4:ArrayList和LinkedList区别
- ArrayList底层是数组结构,正因为是数组结构所以查询和随机访问元素的效率高,但是增删时每次都是创建新的数组,所以增删慢。
- LinkedList底层是链表结构,正因为是链表结构所以增删快,但是增删快的话随机访问会有变化,所以查询和随机访问较慢。
5:基本数据类型的包装类
- Integer,character,Double,Byte,Boolean,Float,Long,Short
- 引用数据类型:String StringBuffer StringBuilder
6:Set集合(存储一组唯一且无序的对象)
-
void add(Object o)只能直接添加
-
boolean remove(Object o)只能直接删除
-
int size()返回集合长度
-
boolean contain()判断是否存在
-
遍历方式:
-
使用增强for循环遍历
-
使用自带的迭代器遍历set.Iterator();
返回一个Iterator<类型>集合
boolean hasNext();判断是否有下一个值
Object next();获取下一个值
-
7:lambda表达式:
List<T> lists = Arrays.adList(T... );
lists.foreach(list->{
System.out.println(list);
});