-
Throwrable
Error异常
1.虚拟机错误 VirtualMachineError
2.线程死锁 ThreadDeath
Exception异常 编码、环境、用户操作输入出现问题
1,非检查异常(RuntimeException)也叫运行时异常,会被虚拟机自动不捕获并抛出
(1)空指针异常(NullPointerException)
(2)数组下标越界异常(ArrayIndexOutOfBoundsException)
(3)类型装换异常(ClassCastException)
(4)算术异常(ArithmeticException)
2,检查异常 需要手动添加捕获处理语句
(1)文件异常IOException
(2)SQL异常SQLException
检测异常需要手动添加捕获异常的处理语句
06:50
查看全部 -
finally中主要是做善后工作,比如关闭连接或打开的文件
查看全部 -
检测异常需要手动添加捕获异常的处理语句
查看全部 -
非检查异常
查看全部 -
数组插入和循环遍历的方法
查看全部 -
1.在Java中字符串被作为String类型的对象处理。
查看全部 -
集合主要学习list,set,map
查看全部 -
Java集合框架体系结构
查看全部 -
Java集合框架体系结构
根接口
1、Collection接口
Collection的子接口
(1)List序列 存储的元素排列有序、可重复、比较常用
实现类
ArrayList 数组序列
LinkedList 链表
(2)Queue队列 存储的元素排列有序、可重复
实现类
LinkedList实现类 链表
(3)Set集 存储的元素无序、不可重复、比较常用
实现类
HashSet 哈希集
2、Map接口
实现类
HashMap 哈希表 比较常用
在Map类内部会以一个key一个value两个对象为一个映射存储数据,而这样一个映射是Entry类的实例,Entry(键值对)类是Map的内部类,key和value可以为任意类型的对象
查看全部 -
一、Map,代码如下:
package com.imooc.collection; import java.util.HashMap; import java.util.Map; import java.util.Scanner; import java.util.Set; import java.util.Map.Entry; public class MapTest { public Map<String, Student> students; public MapTest() { this.students = new HashMap(); } public void mapAdd() { Scanner console = new Scanner(System.in); int i = 0; while (i < 3) { System.out.println("请输入学生ID:"); String ID = console.next(); Student stu = students.get(ID); if (stu == null) { System.out.println("input student's name:"); String name = console.next(); Student newStudent = new Student(ID, name); students.put(ID, newStudent); System.out.println("成功添加:" + students.get(ID).name); i++; } else { System.out.println("已经存在ID再输:"); continue; } } testKeySet(); } public void testKeySet() { Set<String> keySet = students.keySet(); for (String stuId : keySet) { Student stu = students.get(stuId); if (stu != null) { System.out.print(stu.name); } } } /** * 测试删除Map中的映射 * @param args */ public void testRemove() { // 获取从键盘输入的待删除学生id字符串 Scanner console = new Scanner(System.in); while (true) { // 提示输入待删除的学生的id System.out.println("请输入要删除的学生id"); String ID = console.next(); // 判断该ID是否有对应的学生对象 Student st = students.get(ID); if (st == null) { // 提示输入的ID并不存在 System.out.println("该id不存在"); continue; } students.remove(ID); System.out.println("成功删除学生:" + st.name); break; } } /** * 通过entrySet方法来遍历Map * @param args */ public void testEntrySet() { // 通过entrySet方法,返回Map中的所有键值对 Set<Entry<String, Student>> entrySet = students.entrySet(); for(Entry<String, Student> entry: entrySet) { System.out.println("取得键:" + entry.getKey()); System.out.println("对应的值为:" + entry.getValue().name); } } /** * 利用put方法修改Map中已有映射 * @param args */ public void testModify() { // 提示输入要修改的学生id System.out.println("请输入要修改的学生id:"); // 创建一个Scanner对象,去获取从键盘上输入的学生id字符串 Scanner console = new Scanner(System.in); while (true) { // 取得从键盘输入的学生id String stuID = console.next(); // 从students中查找该学生ID对应的学生对象 Student student = students.get(stuID); if (student == null) { System.out.println("该id不存在,请重新输入"); continue; } // 提示当前对应的学生对象的姓名 System.out.println("当前该学生ID,所对应的学生为:" + student.name); // 提示输入新的徐盛姓名,来修改已有的映射 System.out.println("请输入新的学生姓名"); String name = console.next(); Student newStudent = new Student(stuID, name); students.put(stuID, newStudent); System.out.println("修改成功"); break; } } public static void main(String[] args) { MapTest mt = new MapTest(); mt.mapAdd(); mt.testKeySet(); // mt.testRemove(); // mt.testEntrySet(); mt.testModify(); mt.testEntrySet(); } }
查看全部 -
不能直接实例化Set,因为Set是一个接口,需要通过HashSet进行实例化
导包快捷:Eclipse中Ctrl+Shift+O
public class Student{ public String id; public String name; public Set courses; public Student(String id,String name){ this.id=id; this.name=name; this.courses=new HashSet(); }}
查看全部 -
Java集合框架包括Collection与Map两个
其中Collection包括List(序列)、queue(队列)、与set(集)
list与queue存储的元素是排列有序的,并且是可以重复的,Set中的元素是无序的不可重复
查看全部 -
StringBuilder类的常用方法
查看全部 -
String类:具有不可变性。频繁操作字符串时会额外产生很多临时变量。StringBuilder和StringBuffer可避免这个问题。StringBuffer时线程安全的。StringBuilder没有实现线程安全的功能,所以性能略高。
查看全部 -
finally语句块
查看全部
举报