JavaSE基础(三)

1.集合:(Collection超类接口)
List(按序放置按索引获取)(增add删remove,delet,clear改update,set查get)toString转换成字符串
(1)ArrayList(变长(类似数组,比数组多了增删改查))HashMap<String, Fruit> fruits = new HashMap<>();
(2)Vactor(其他类似,方法上加入了synchronized,多了“线程安全”,确保同时只能有一个人操作,如果有其他人进来,等待队列)效率降低
(3)Linkedlist(双向链表-插入修改快,队列处理-先进先出,后进先出)+first-last先进先出 +pop-push后进先出
Set(按集合内置顺序放置)
(1)HashSet(根据hash值排序,放置顺序并不是排序顺序,所以无索引,所以全部不允许重复,一旦重复就会覆盖)无get,只能循环遍历,查找速度目前最快,可以重复排除,并且内置的排序 (LinkHashSet类似于HashSet)
(2)TreeSet(根据内容值放置,排序集合,必须支持Comparable接口,因为要比较)

Map(键值对集合,以键(index)的内容进行查询)
(1)HashMap集合
HashMap<Integer, String> map=new HashMap<>();
HashMap<Integer, String> map=new HashMap<>();
map.put(1, “111”);
map.put(2, “ssss”);
map.put(1, “sss”);//覆盖
方法 contain put get remove

遍历
三种遍历方法
Set<Entry<String,String>> set=map.entrySet();
Set set1=map.keySet();
Collection aaa=map.values();

(2)Hashtable(线程安全(线程安全对空值不支持),方法上加入了synchronized)
(3)TreeMap(根据key值进行排序放置,必须支持Comparable)
(4)ConcurrentHashMap(完全替代Hashtable,更快)

2.异常处理

Throwable 所有错误
Error 不可捕获错误
Unresoved complilation problems编译错误
memory out error内存超出错误
Exception 可捕获错误(能被catch可用)
try{
//运行代码
}
catch(ArrayIndexOut’’’){
//输出数组错误解决方案
}
catch(Exception e){
//出现错误,解决方案(提示)
比如要求重输
}//超类放在最下面,因为这相当于是个滤网,有上下的过滤判断,按上下顺序分别多个
3.自定义异常***(创建位置)
1.创建异常类,继承exception
2.重写getMessage方法
3.触发异常,if ----throw new 自定异常();
4.在异常内加入属性+构造方法,详细描述错误信息
return age+“岁-年龄超过限制”

(1)

(2)

throw 抛出异常,到catch,有错误要解决(用在方法里面)
throws抛出异常,到方法外面,调用方解决(用在方法后面)
catch 解决错误(用在方法里面)
finally 必须运行,做收尾工作(return时才能使用,因为finally是在return中间状态运行的(网上说return是先执行)(用在方法里面)

{
throw可以不写在try中,可以不catch解决异常
不加catch代表我不解决,throws转到方法外头,在外头解决,如果外部解决不了,可以继续加 throws Exception往外抛异常
如果不加throws exception,就需要try catch 解决

}

printStackTrace();打印错误信息,禁止在for循环里面try

调试debug调试
断点:(双击)运行到断点时,线程挂起,
debug运行,让他在断点停下
查看修改变量/断点管理
控制运行 f5跳入 f6下一行 f7 跳出 f8继续下个断点
4.常见异常(先找异常,然后找对应代码)console窗口
(1)异常类型(2)异常信息,错误描述(3)异常栈,找到用户错误行
java.lang.NullPointerException空指针异常,调用null对象方法
java,langNumberFormatException数字转换错误
java.lang.ClassCastException 强制转换错误
java.lang.ArrayIndexOutOfBoundsException输入索引超出
IOException文件输入输出错误
SQLException数据异常

5.I/O流(read输入 write输出)
(1)创建流
(2)读写
(3)关闭流
读 就是输入流
写 就是输出流
I/O while 连续读取(读取位置不够时)
字符流

Reader r;输入
Writer w;输出
try {
FileReader w=new FileReader(“c://a.txt”);
char[] data=new char[10000];//内存缓冲区
int len=w.read(data);
data=Arrays.copyOf(data, len);去掉多余空间
System.out.println(new String(data));
w.close();
}
catch(IOException E){
E.printStackTrace();
}

try {
//这里加上true,是追加模式写内容,不会被覆盖
FileWriter f=new FileWriter(“c://a.txt”,true);//创建流
f.write(“sssssss”);//读写
f.close();//关闭流
}
catch(IOException E){
E.printStackTrace();
}

字节流
InputStream i;
OutputStream o;
try {

		FileOutputStream f=new FileOutputStream("c://a.txt");
		f.write("sssssss".getBytes());//唯一不同,字符串改成字节数组
		f.close();
	}
	catch(IOException E){
		E.printStackTrace();
	}

try {
FileInputStream w=new FileInputStream(“c://a.txt”);
byte[] data=new byte[10000];//char数组变为字节数组
int len=w.read(data);
data=Arrays.copyOf(data, len);
System.out.println(new String(data));
w.close();
// FileOutputStream f=new //FileOutputStream(“c://a.txt”);
// f.write(“sssssss”.getBytes());
// f.close();
}
catch(IOException E){
E.printStackTrace();
}

文件的复制
https://blog.csdn.net/huanyinghanlang/article/details/78825958

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值