集合API异常和IO流

1.Object类是java语言中的根类,即所有的父类
2.System类包含一些有用的类字段和方法,它不能被实例化
3.static void arrayCopy(Object src1,int index1,Object src2,int index2.int length)
复制数组(源数组,源数组的起始索引位置,目标数组,目标数组的起始索引位置,指定接受的元素个数)
4.Date():创建的是一个表示当前系统时间的Date对象
Date(long date):根据"指定时间"来创建Date对象
Date d=new Date(); //默认当前系统时间
d.setTime(1000*60*60*24); //设置时间,是相对1970-1-1 00:00:00:00后的时间
long d.getTime //获取该时间,精确到毫秒
5.DateFormat是Date类的抽象类,我们需要使用其子类SimpleDateFormat来创建对象
6.SimpleDateFormat:
格式化是把Date转换成字符串,解析是把字符串转换成Date类型
//创建日期格式化对象
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss")
//格式化
//创建默认当前系统时间
Date date=new Date();
String str=sdf.format(date);
//解析
sdf.parse("****年**月**日 **:**:**")
注意:解析的字符串模式必须和创建的格式一样
7.Calendar类
Calendar c=Calendar.getInstance();//创建日历格式对象
c.set(Calendar.DAY_OF_YEAR,20); //把指定的字段修改成指定的值
c.add(Calendar.DAY_OF_YEAR,2); //在指定的字符上加上指定的值
8.包装类和正则表达式
byte -- Byte,short --Short, int -- Integer, long --Long
char --Character float -- Float, double --Double ,boolean --Boolean
9.集合体系结构
数组结构,连表结构,栈堆和队列结构
栈堆:先进先出, 队列:先进先出
10.list 接口查询块,增删慢 set 接口查询慢,增删快
list接口有索引,有序,可以重复 set接口无索引,无序,不能重复
11.迭代器:Collection<String> list=new ArrayList<>();
list.add("*****");
list.add("*****");
Iterator<String> it=list.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
12.增强for循环 for(元素的类型 变量名: 集合/数组名)
for(String str : list) {
System.out.println(str);
}
注意:在增强for循环中不能修改集合,否则会出现并发修改异常
13.泛型:是一种广泛的类型,把明确的数据类型的工作提前到了编译时期,起到一种规范的作用
14.Coleection<Integer> c=new ArrayList<>(); //这也是多态的表现
15.数组的特点:数组的长度一旦定义就不能改变
数组的元素都是有整数索引
数组中只能存在同一种类型的元素
数组中可以存在基本数据类型,也可以存储引用数据类型
16.List子体系特点:
1.有序的(存储和读取的顺序是一致的)
2.有整数索引(可以通过普通for遍历得到每一个元素)
3.允许重复
17.LinkedList特有功能:可以向该链表的手尾添加元素(list.addFirst(),list.addLast());
可以获取该链表的手尾元素(list.getFirst(),list.getLast());
可以删除该链表的手尾元素(list.removeFist(),list.removeLast());
18.Set接口的特点:
1.存入集合的顺序和取出来的顺序不一致
2.没有索引
3.存入集合的元素没有重复
19.HashSet唯一原理:添加到HashSet集合中的元素会与集合中已有的元素一一做比较,首先比较哈希值(每个元素都会调用hashCode()产生一个哈希值),如果新添加的元素与集合中已有的元素的哈希值不同,则会直接添加到集合中.如果相同还需要调用equals()做比较,返回的是true说明新添加的元素与集合中某个元素的值相同,那么新添加的元素不存入集合中,如果返回的是false,说明集合中没有该元素,那么就添加该元素到集合中
20.Collection和Collections的区别:
Collection是集合体系中的最顶层,包含集合体系的共性
Collections是一个工具类,是用于操作Collection

Collections.swap(list,0,1) 将指定集合中的两个索引位置进行位置互换
Collections.sort(list) 按照英文字母和数字大小的自然顺序进行排序
Collections.shuffle(list) 将集合中的元素打乱
Collections.reverse(list) 反转集合
21.Map中的集合,元素是成对存在的,每个元素由键和值两部分组成,通过键可以找到对应的值
Collection中的集合称为单列集合,Map中的集合称为双列集合
Map中的集合不能包含重复的键,每个键只能对应一个值,但是值是可以重复的
22.Map中的两个遍历方法
Map<String,String> map=new HashMap<String,String>();
Set<String> keys=map.keySet();
for(String key: keys) {
String value=map.get(key)
}
Map<String,String> map=new HashMap<String,String>();
Set<Entry<Sring,Sring>> entrys = map.entrySet();
for(Entry<Sring,Sring> entry:entrys) {
String key=entry.getKey();
String value=entry.getValue();
}
23.字符串可以转换成7中基本数据类型(字符串不能转换成Character),调用parse()方法进行解析
8中基本数据类型转换成字符串,调用valueOf()方法获取,但是得注意其对应的取值范围
基本类型转换成对应的包装类,注意其取值范围和本身的类型
29.Collection接口:List接口(有索引,有序,可以重复)
ArrayList:线程不安全,效率高 底层是数组结构 查询快,增删慢
LinkedList:底层是链表结构 查询慢 增删快
Vector:线程安全,效率低 底层也是数组结构 查询快,增删慢
Set借口(无索引,无序,不能重复)
HashSet:集合中的元素是无序的并且是唯一的,因为重写了hashCode()方法和重写euals方法
TreeSet:使用元素的自然顺序对元素进行排序,或者根据创建 set 时提供的 Comparator 进行排序,具体取决于使用的构造方法。
比较两个字符串的大小,返回值是int类型 (按照字典顺序或阿拉伯数字比较两个字符串的大写)
int i=s1.compareTo(s2) //如果i大于0,说明s1>s2;如果i小于0,说明s1<s2;如果i=0,说明s1等于s2
boolean b =s.matches("***") 判断此字符串是否匹配给定的正则表达式
boolean b=s.isEmpty() 判断字符串是否为空,也就字符串的长度为0,(s.length()为0);
boolean b=list.contains(s1) 判断集合中是否包含指定的元素,包含曾返回true.
30.java代码在运行时期发生的问题就是异常,在java中,把异常信息封装成了一个类,当出现了问题时,就会创建异常类对象并抛出异常相关的信息
31.异常包含了错误的类型,原因以及地址
32.JVM处理异常的方式:如果出现异常我们没有处理,JVM会帮我们处理,会把异常的类型,原因以及位置显示在命令行,并且还终止了程序,异常后面的代码不会执行
33. try{
有可能出现问题的代码
}catch(Exception e) {
处理异常
}
首先执行try语句,如果发现异常,异常下面的代码不在执行,直接跳入catch语句中,catch语句结束后,,整个try...catch就结束了
如果没有发现异常,try语句执行结束后,try...catch直接结束,不在执行catch语句
34.多异常处理:要求多个catch中的异常不能相同,并且若catch中的多个异常直接有子父类异常的关系,那么子类异常要求在上面的catch处理,父类异常在下面的catch处理
35.finally:和try...catch组合使用,用于释放资源等收尾工作,无论try...catch语句如何执行,finally的代码一定会执行
36.递归的注意事项:
一定得有出口,否则内存溢出
次数不宜过多,否则内存溢出
37.File:文件和目录路径名的抽象表示形式,File类的实例是不可变的
注意:
删除一个文件夹,这个文件夹下面不能有其他的文件和文件夹
修改的文件路径不能存在,如果存在则修改失败
如果要删除一个目录,则需要先删除这个目录下的所有子文件和子目录
38.IO流分类:
流向: 输入流 读取数据 FileReader Reader
输出流 写出数据 FileWriter Writer
数据类型 :字节流 字符流
字节输入流 读取数据 InputStream
字节输出流 写出数据 OutPutStream

字符输入流 读取数据
字符输出流 写出数据

 

 

 

 

 

 

猜你喜欢

转载自www.cnblogs.com/hpf5201314/p/9365832.html