第一天
接口中的泛型
第一种处理:实现类也不能确定泛型的类型,实现类就继承接口中的泛型
第二种处理:在实现欸已经知道使用什么数据类型,直接给定数据类型
将泛型定义在方法上
数组的最大缺陷是:大小时预定义死了的,不能根据需要调整大小
集合:就是一个可以动态开辟空间的对象数组
集合是根据泛型给定的类型装不同的对象数组
让一个对象具有判断自己是不是同一个实例,该对象需要重写hashcode()和equals方法。
移除集合中的对象元素
//List。remove(i);//下标移除
List。remove("苹果");//
System。out。println(list);
第二天
栈:先进后出
队列:先进先出
一个程序的雄安率是由算法和数据结构
注意for循环中条件跟随循环发生变化
Set集合:
set集合中不能放入重合的数据,因为采用散列存储,根据数据的特征值加上哈希算法算出来的唯一地址
Treeset :放的元素都是要可以比较的元素
第三天
让cat变得可以比较
创建一个地三方的比较器,这种方式更加灵活,有利于代码的扩展
要获得集合中的每个元素,标准的方式就是迭代器
Map;以key和value的形式存放
collection主要是存储数据,map主要是查询数据
获得所有key,用set集合,因为set集合不会重复
map集合的迭代,先将map转化为entry对象的set集合,很少这样用,map集合主要用于查询,可以用key查询
集合的工具类:
collection是接口
collections是所有集合工具
第四天
//string path="d:/11/haoren.txt";
//推荐如下路径(这样写可以让代码能在windows和linux中都可以执行)
//File.separator在windows下是"\"在linux下为"/"
//f.exists()判读问价是否存在
//f.delete();删除文件
递归:自己调用自己
访问某个文件夹下的所有文件和子文件夹的文件
第五天
字符流:
字符输出流:必须要关闭流,因为字符流开辟缓冲区,先将数据存入缓冲区,等到关闭流或者强制刷新或则缓冲区 满了才会从缓冲区写外存的文件中,在实际开发中字节流用的比较多,字节比较通用
内存操作流
转换流:用的时候具有字符流的特点,实际底层转换成了字节流
返回值是督导的实际长度‘
管道流