集合
特点
- 自动伸缩,可长可短(而数组长度固定)
- 可存储引用数据类型,要存储基本数据类型需转换成包装类。1 (数组:基本、引用都可)
创建集合
ArrayList<数据类型> list = new ArrayList<>();
Collection:单列集合
Collection方法
Collection三种遍历
- 迭代器遍历:可删除元素
Iterator<String> it=list.iterator();
while(it.hasNext()) {
String str = it.next();
System.out.println(str);
注:循环中只能用一次next方法,避免当前位置没有元素获取时报错;遍历结束,指针不复位。
- 增强for遍历:for(元素数据类型 变量名:数组或集合)
for(String s:list){ s=”333” }
- Lambda表达式遍历
list.forEach(s -> System.out.println(s));
List系列集合
特点:添加的元素是 有序、可重复、有索引;
List方法
List五种遍历
- 列表迭代器:可添加元素
ListIterator<String> is=list.listIterator();
while(it.hasNext()) {
String str1=is.next();
System.out.println(str1);
- 普通for遍历:
for(int i=0;i<list.size();i++) {
String k=list.get(i);
System.out.println(k);
}
(另外三种同collection遍历方式)
LinkedList集合
ArrayList成员方法
Set系列集合:添加的元素是 无序、不重复、无索引。
集合体系结构
泛型
格式:<数据类型>
注:泛型只能支持引用数据类型
好处:
- 统一数据类型
- 把运行时期的问题提前到了编译期,避免了强制类型转换可能出现的异常,因为在编译阶段类型就能确定下来了。
泛型类
格式:修饰符 class 类名<类型>{ }
泛型方法
格式:修饰符 <数据类型>返回值类型 方法名(类名 变量名){}
方法中形参类型不确定时:
- 类名后面定义泛型(所有方法都能用) public class demo2{}
- 方法申明上定义自己的泛型(仅本方法里能用) public void show(E e){}
泛型接口
格式:修饰符 interface 接口名<类型>{}
如何使用带发泛型的接口:
- 实现类给出的具体类型
- 实现类延续泛型,创建对象时再确定
通配型
- 通配符主要可限定类型的范围。
- ?表示不确定的类型,可进行类型的限定
- ? extends E:表示可以传递E或E所有的父类类型
- ? super E:表示可以传递E或E所有的父类类型
应用场景:
- 若在定义类、方法、接口时,类型不确定,就可以定义泛型类、泛型方法、泛型接口
- 若类型不确定,但能知道以后只能传递某个继承体系中的,就可用泛型的通配符
网络编程
定义:计算机跟计算机之间通过网络进行数据传输
三要素
- IP:设备在网络中的地址,是唯一的标识
- 端口号:应用程序在设备中唯一的标识
- 协议:数据在网络中传输的规则,常见协议有UDP、TCP、http、 https、 ftp
下周计划
第三阶段内容
注脚的解释
包装类:char ~Character;int ~Integer;其他类型均首字母大写 ↩︎