Java高级(一)集合
1.了解Java集合框架体系结构
变量->数组->对象->对象数组(数组长度不可变)->集合框架
框架:(模板) 半成品
如果我们将数组元素添加一个(改变定长),需要以下的步骤:
1.先创建新的数组
2.将原来的所有元素复制到新的数组里
3.继续追加新的元素
4.删除原来的数组对象
集合接口:
Collection 无序的 不唯一(可重复)
-
接口List:有序的 不唯一(可重复)
-
ArrayList
-
LinkedList
-
-
接口Set:无序的 唯一(不可重复)
- HashSet
2.会使用ArrayList存取数据
boolean add(Object obj); // 在列表末尾追加新元素
void add(int index,Object obj); // 在指定下标位置插入元素 原有元素依次后移
int size(); // 获取当前集合的元素个数
Object get(int index); // 根据下标获取指定元素
boolean remove(Object obj); // 删除集合中的指定元素对象
Object remove(int index); // 删除指定下标的元素 并且返回被删除的元素
boolean contains(Object obj); // 判断指定对象是否包含在集合中
3.会使用LinkedList存取数据
特有的一些方法:
void addFirst(Object obj); 添加到首位
void addLast(Object obj); 添加到末尾
Object getFirst(); 获取首位
Object getLast(); 获取末尾
Object removeFirst();
**Object removeLast(); **
4.了解ArrayList与LinkedList的区别<面试题>
ArrayList底层是数组结构,LinkedList底层是链表结构。
ArrayList因为是数组结构 每次进行添加元素 都是在创建新的数组 所以增删起来比较慢。
但是又因为是数组结构 所以它有下标索引 查询起来效率比较高。
LinkedList因为是链表结构,所以在进行添加的时候 只是更改了指针指向,所以增删比较快。
但是又因为链表结构 所以在查找的时候 效率低。
5.Set集合通常用于在存储唯一元素场景。
HashSet最常用实现类。
遍历所使用的方法:
1.迭代器
解除封印:Iterator iterator();
- boolean hasNext(); // 判断是否有下一个元素
- Object next(); // 得到下一个元素
2.增强for