学习内容:
- 接口;
- 集合框架;
一.接口:
如果在一个类中,一个实现的方法都没有,或者都是抽象方法,那么,这样的类,成为接口。
接口定义使用 interface 定义
语法:
[修饰符] interface 接口名 extends 父接口1, 父接口2… {
0-N 个常量;
0-N个抽象方法;
}
- 接口中所有的成员在定义的时候访问控制修饰符只能是 public 或者是 default;
- 接口的命名规范同类的命名规范;
- 在接口中,成员变量必须是静态的常量,方法必须是抽象方法,所以可以省略相关的修饰符。
接口的使用:
接口是抽象类一样,是不能被实例化的,但是接口可以用于声明引用类型的变量,当使用接口来声明变量时,该变量的运行时类型必须是该接口的实现类。
接口的作用:
- 用于定义实现类的行为规范;
- 定义变量
- 定义一些常量
- 被其他类实现
一个类是可以实现多个接口的,使用 implements 关键字,多个接口之间用逗号隔开。
一个完整的类定义的语法:
在一个 java 文件中,是可以定义多个类的,但是只允许有一个 public 类型的类存在。定义的 public 类型的类必须和文件名一致。
``
[修饰符:public、final] class 类名 extends 父类 implements 接口1,接口2...{
....
}
集合框架:
在集合框架中,主要分为 Collection 和 Map 两大接口。
在 Collection 中又分为 List (有序集合) 和 Set (无序集合)。List 和 Set 都是接口。
Map 存储的 Key-Value 结构。
集合框架存储的元素可以是不定长的,即可以任意的添加,但是数组在定义的时候就确定了长度。实际开发中,对于同类型数据的结构,一般使用 Collection 结构会较多。
List:
是实际开发中用的最多的一种数据结构,存储的单个元素,使用泛型去强制约束 List 中存放的是一致的数据类型
插入元素:
add()
遍历元素:
- 通过元素索引下标方式 for 循环
- 通过 foreach 循环
- 通过迭代器 Iterator
删除元素:
如果通过遍历去查找相关元素进行删除的时候,不要使用 list.remove(int index) 该方法,因为使用该方法,会动态的直接改变集合的元素结构,导致遍历的不完整或者有错误。要使用迭代器遍历集合,调用 Iterator.remove() 方法删除。
Set:
不详细阐述,在遍历的时候不能使用索引方式,只能通过迭代器和 foreach。
Map:
类似的可以理解给集合元素中的值定义了一个 Key 键(遍历),之后可以通过相关的方法快速的定位到具体的 Value 中。
获取某个 key 的 value:
Value get(Key)
如何遍历 Map 结构
获取 Map 的 Key 集合,通过遍历 Key 集合,获取 Value 值。
1.获取 key 集合:map.keySet();
2.遍历 Key 集合:iterator;
3.获取 Value 值:get(key)。