泛型方法
格式:修饰符<类型> 返回值类型 方法名(类型 变量名){}
例如:public <T> void show(T t){}
泛型接口
格式:修饰符 interface 接口名<类型>{}
例如:public interface Generic< T >{}
- 有了接后,接口不能实例化,需要一个接口实现类实现接口,测试类调用实现类间接调用泛型接口。
泛型通配符
- 类型通配符 < ? >:表示元素类型未知,元素可以匹配任何类型的元素。仅表示是各种泛型List的父类,不能在其中添加元素。
- 类型通配符上限 < ? extents类型>:表示类型是 <类型> 或者其子类。
- 类型通配符下限 < ? super类型>:表示类型是 <类型> 或者其父类。
可变长参数
格式:修饰符 返回值类型 方法名(数据类型… 变量名){}
例如:public static int sum(int... a){}
- 变量实际为一个数组
- 一个有多个参数的方法中,可变长参数要放在最后。
Map集合
概述
- 是一个接口,interface Map <K,V> K :键的类型 V:值的类型
- 将键映射到值的对象
- 没有重复的键;
- 每个键可以映射最多一个值
- 键重复时,后一个值会替换掉前面的值,即一个键第二次出现为替换。
创建 - 多态的方式
- 具体实现类HashMap。
常用方法
V put(K key,V value) //添加元素
V remove(Object key) //根据键删除键值对应元素
void chear() //移除所有键值对
boolean containsKey(Object key) //判断是否包含指定键
boolean containsValue(Object value) //判断是否包含指定值
boolean isEmpty ( ) //判断是否为空
int size()//集合长度
获取功能
V get(Object key) //根据键获取值
Set<K> keySet()//获取所有键的集合
Colletion<V> value()//获取所有值的集合
Set<Map.Entry<K,V>> entrySet() //获取所有键值对对象的集合
Collections
是一个具体的类,操作集合的工具类。
IO
File文件和目录路径的的抽象表示
- 文件和目录可以通过File封装成对象
- 封装的不是文件,只是路径名,可以是存在的,也可以是不存在的。将来要通过具体操作把这个路径内容转换为具体存在的。
//三种一样的结果
File f1 = new File("E:\\JText\\java.txt");
System.out.println(f1);
File f2 = new File("E:\\JText","java.txt");
System.out.println(f2);
File f3 = new File("E:\\JText");
File f4 = new File(f3,"java.txt");
System.out.println(f4);
创建文件/目录取
决于调用的方法而不是文件名
//创建新文件,文件不存在就创建发回true,存在就不创建,返回false
File file1 = new File("E:\\JText\\java.txt");
System.out.println(file1.createNewFile());
//创建新目录(文件夹),目录不存在就创建发回true,存在就不创建,返回false
File file2 = new File("E:\\JText\\javaSE");
System.out.println(file2.mkdir());
//创建新多级目录,目录不存在就创建发回true,存在就不创建,返回false
File file3 = new File("E:\\JText\\javaWEB \\web");
System.out.println(file3.mkdirs());
//创建新目录(文件夹),目录不存在就创建发回true,存在就不创建,返回false
File类判断和获取功能
File file2 = new File("E:\\JText\\javaSE");
String[] list = file2.list();//返回路径下的目录中的文件和目录名称
for (String str : list){
System.out.println(str);
}
System.out.println("----------");
File[] files = file2.listFiles();
for (File file : files){
// System.out.println(file);//返回路径下的目录中的文件和目录名称(绝对路径)
if (file.isFile()) {
System.out.println(file.getName());//返回路径下的目录中的文件
}
}