0723集合、异常、Debug调试、IO流

集合(Collection 超类接口)

1、list(按序放置按索引获取)-增删改查 sublist(int,int)子链表
ArrayList(变长数组)
vector(线程安全 方法上加入synchronized 对象安全)效率降低
LinkedList(双向链表-查找速度加快,队列处理-先进先出,后进先出)
加入first-last 先进先出
加入pop-push 后进先出
2、set(按集合内置顺序放置,无索引,不重复)
Hashset(根据hash值放置)
TreeSet(根据内容值放置,典型的排序集合,必须支持Comarable)
在这里插入图片描述
在这里插入图片描述
3、map(键值对集合,以键(index)的内容进行处理)

HashMap<String,String> map = new HashMap<>();
put()
get()
remove()
map.containsKey(key) 是否存在键
Set<Entry<String,String>> set=	map.entrySet();
Set<String> set1 = map.keySet();
Collection<String> aaa = map.values();

Hashtable(线程安全,方法上加入synchronized 对空值不支持-key和value不能为null)
ConcurrentHashMap 替代了 Hashtable
TreeMap(根据key值排序放置,必须支持Comareble)

异常

Throwable 所有错误
error 不可捕获

unresolved compilation problem 编译错误
memory out error 内存超出错误

exception 可捕获

try {
	//运行代码
} catch (Exception e) {
	//解决错误
}

常见异常

java.lang.NullPointerException        调用null对象方法
java.lang.NumberFormatException 数字转换异常
java.lang.ClassCastExceptoin         强制转换错误
java.lang.ArrayIndexOutOfBoundsException 数组范围超出范围
java.lang.IoException 文件流错误
java.lang.SQLException 

错误解决 console窗口
异常类型 类名
异常信息 错误描述
异常栈 (第一个用户错误行)

异常处理

处理可能出现异常代码
try {
		//运行代码
	}
	解决方案(可多个,按上下顺序分别捕获)
	catch(ArrayIndexOutOfBoundsException e){
    //解决错误
}
	catch (Exception e) {
	//解决错误
}

自定义异常

创建异常类 继承exception
重写getMessage方法
触发异常throw new AgeOutBoundsException(age);
在异常内加入属性+构造方法,详细描述错误信息
return age+“岁-年龄超出”;

throw 抛出异常到catch 有错误要解决
throws 抛出异常到方法外 调用方解决
finally 必须运行(处理异常要return时使用)
e.printStackTrace(); 尽量都打印异常信息
构造方法try尽量不省
行为方法能省就省

Debug调试

断点:运行到断点时线程挂起
debug运行(断点挂起)
查看修改变量/断点管理
控制运行 F5 跳入(方法里) F6 下一行 F7 跳出 F8 继续下个断点

IO流(read输入 write输出)

1.创建流
2.读写
3.关闭流
字符流/字节流
Reader r;
Writer w;

FileReader w = new FileReader("c://a.txt");
		char[] data = new char[10000];
		w.read(data);
		//int len= w.read(data);
		//data = Arrays.copyOf(data, len);
		System.out.println(new String(data));
		w.close();
		
		FileWriter f = new FileWriter("c://a.txt");
		f.write("fsefew");
		f.close();
inputstream i;
outputstream o;
	
	FileOutputStream f = new FileOutputStream("c://b.txt");
		f.write("feweewf".getBytes());
		f.close();
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值