目录介绍
- 1.对象数组
- 2.集合
- 2.1 集合的由来
- 2.2 数组和集合的区别
- 2.3 集合继承体系图
- 2.4 Collection功能概述
- 2.5 集合的遍历
- 2.6 迭代器的原理
- 3.数据结构
- 3.0 List集合如何选择合适的
- 3.1 数据结构之数组和链表
- 3.2 数据结构之栈和队列
- 4.集合总结
- 4.1 集合总结
1.对象数组
- 1.1 绘制对象数组内存图
- 需求:把三个学生的信息【姓名,年龄】存储到对象数组中
- 绘制内场图如下所示:
2.集合
-
2.1 集合的由来
- 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,Java就提供了集合类。
-
2.2 数组和集合的区别
- (1): 长度区别: 数组的长度是固定的而集合的长度是可变的
- (2): 存储数据类型的区别: 数组可以存储基本数据类型 , 也可以存储引用数据类型; 而集合只能存储引用数据类型
- (3): 内容区别: 数组只能存储同种数据类型的元素 ,集合可以存储不同类型的元素
-
2.3 集合继承体系图
-
2.4 Collection功能概述
-
a:添加功能
- boolean add(Object obj):添加一个元素
- boolean addAll(Collection c):添加一个集合的元素
-
b:删除功能
- void clear():移除所有元素
- boolean remove(Object o):移除一个元素
- boolean removeAll(Collection c):移除一个集合的元素(是一个还是所有)
-
c:判断功能
- boolean contains(Object o):判断集合中是否包含指定的元素
- boolean containsAll(Collection c):判断集合中是否包含指定的集合元素(是一个还是所有)
- boolean isEmpty():判断集合是否为空
-
d:获取功能
- Iterator<E> iterator()(重点)
-
e:长度功能
- int size():元素的个数
- 面试题:数组有没有length()方法呢?字符串有没有length()方法呢?集合有没有length()方法呢?
-
f:交集功能
- boolean retainAll(Collection c):两个集合都有的元素?思考元素去哪了,返回的boolean又是什么意思呢?
-
g:把集合转换为数组
- Object[] toArray()
-
2.5 集合的遍历
-
2.5.1 迭代器遍历【用的较少】
public class CollectionDemo {
public static void main(String[] args) {
// Iterator iterator(): 使用迭代器进行遍历(重点*********)
// 创建Collection集合对象
Collection col = new ArrayList() ;
// 添加元素
col.add("张三") ;
col.add("李四") ;
col.add("王五") ;
col.add("赵六") ;
// 使用迭代器对其进行遍历
// 1. 获取迭代器对象
Iterator it = col.iterator() ; // 返回时实现了Iterator这个接口的子类对象
// 2. 调用迭代器对象中的方法完成遍历
// E next(): 获取元素的同时,将指针向后移动一位
while(it.hasNext()) {
System.out.println(it.next());
}
}
}
- 2.5.2 集合转数组遍历
public class CollectionDemo {
public static void main(String[] args) {
// 1. 创建集合对象
Collection col = new ArrayList() ;
// 2. 添加元素
col.add("鸣人") ;
col.add("佐助") ;
col.add("佩恩") ;
// 3. 把集合转换成数组
// Object[] toArray()
Object[] objs = col.toArray() ;
// 4. 遍历数组
for(int x = 0 ; x < objs.length ; x++) {
// 向下转型
String s = (String)objs[x] ;
System.out.println(s.length());
}
}
}
- 2.6 迭代器的原理
3.数据结构
-
3.0 List集合如何选择合适的
-
3.1 数据结构之数组和链表
-
3.2 数据结构之栈和队列
4.集合总结
- 4.1 集合总结