Java基础——Map与异常

Map

作用

存储数据

键值对应的方式存储

对比数组,集合,Map的区别

共同点:
	存储多个数据
不同点:
    1,数组可以存放基本数据类与引用数据类型,集合与Map都只能存储引用数据类型
    2,数组有长度限制,集合与Map没有长度限制
    3,集合存储数据是单个元素存储,Map存储数据使用的键值对应的方式存储

特点

1、键值对应的存储
2、键不允许重复

Map体系

Map
	——HashMap
	——HashTable
	——TreeMap
	——Properties

Map提供的方法

增
	put(key,value);
	putAll(map);
删
	remove(key);
	clean();
改
	replace(key,新value);
	put(key,value);当value存在时为修改,不存在时为添加
查
	get(key)
	size()
	isEmpty()
	keySet()
	values()

Map的常用子类

HashMap
	特点:jdk1.2出现,速率快,线程不安全,允许null作为key或value
HashTable
	特点:jak1.0出现,效率慢,线程安全,不允许null作为key或value	
TreeMap
	特点:
		要么key的数据类型拥有比较性
		要么TreeMap指定比较器
Properties(配置文件)
	特点:因为该类使用的情况经常是配合配置文件出现的,所以说key与value都是String类型.但是如果单独使用该类key与value可以是别的类型.不允许key重复,但是如果key的数据类型不一致,可使用不同类型,相同的值,如int类型的1与String类型的"1"	

异常

简介

代码中存在的问题

异常的分类

Error:错误
    原因:由硬件引起的,无法使用代码进行修改
    处理方式:不管
Exception:异常
    原因:因为代码语法出错.或用户操作软件时,因为代码不够严谨导致的问题
    处理方式:修改
    子类
        CheckedException:检查时异常
        	原因:因语法问题导致的
        RuntimeException:运行时异常
        	原因:代码语法不够严谨导致的

异常产生的后果

程序非正常关闭,异常产生处之后的代码不会执行

因为JVM虚拟器运行我们的程序,当程序出现问题后,JVM为了保护虚拟机系统,所以关闭了我们的程序,所以导致程序闪退

语法

try catch语法:
	try{
		有可能出现问题的代码
	}catch(异常分类1 e){
		处理方式
	}catch(异常分类2 e){
		处理方式
	}
	......
	catch(异常分类n e){
		处理方式
	}finally{
		必须要执行的代码
	}
	注意:catch中异常从小到大
	使用:代码中使用
throws语法:
	使用位置:定义方法时使用
	语法:
		访问权限修饰符 返回值类型 方法名(形参列表) throws 异常类型1,异常类型2.....{
			方法体
			return 返回值;
		}
		使用:定义方法时;
		注意:不要把异常抛给JVM
		不建议使用
throw语法:
	使用位置:方法中
	语法:
		throw 异常对象;

异常的传递

在方法中调用有抛出异常的方法,需要解决异常或继续向上抛出

自定义异常

1、创建一个类
2、继承Exception或其子类
3、重写无参构造与有参构造
	有参构造中需要传入一个String类型的参数
注意:可以使用throw抛出异常

Collections工具类

static void sort(List list):排序
static <T> int binarySearch(List list, T key):使用二分查找法查找数据所在下标
static <T> void copy(List 拷贝到的集合, List 要拷贝的集合):拷贝list
	注意:新集合长度要大于等于原集合
static void reverse(List list):翻转
static void shuffle(List list):打乱
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值