Map集合,异常

Map集合的特点:

1. Map集合是一个双列的集合,像Python中的字典

2. Map集合中的元素,key和value的数据类型可以相同,可以不同。

3. Map集合中的元素,key是不允许重复的,value可以重复。

4. Map集合中的元素,key和value是一一对应的。

Map接口中的常用接口: 

 

Object compute(Object key,BiFurcation remappingFunction)

改变value,如果新value为null,则删除键值对,如果新旧都为空,则直接返回null。

System.out.println(hm);//{XiaoLi=20, Harry=23, Jenny=24}
        hm.compute("Harry",(key,value)->(Integer)value+10);
        System.out.println(hm);//{XiaoLi=20, Harry=33, Jenny=24}
 

异常的种类:

Exception:编译期异常,编写java程序时出现的问题

RuntimeException : 运行期异常,java程序运行过程中出现的问题

Error: 错误 , 必须修改源代码,程序才能运行。

 

throws(声明异常)

使用throws声明的方法表示此方法不处理异常

返回类型 方法名 ( 参数列表 ) throws 异常类 , 异常类 ,…{ … }

注意:如果有多个异常,只需要抛出异常的父类就可以

子父类的异常:

      父类异常什么样,子类要与父类相同

     如果父类没有异常,子类产生的异常不可以抛出,只能catch处理。

 

throws和throw关键字区别

1. throws用来声明一个方法可能抛出的所有异常信息,表示出现异常的一种可能性。

    throw则是抛出一个具体的异常类型,执行throw则一定抛出了某种异常对象。

 

2 . 通常在一个方法(类)的声明处通过throws声明方法(类)可能抛出的异常信息,

     而在方法(类)内部通过throw声明一个具体的异常信息。

 

3  . throws通常不用显示地捕获异常,可由系统自动将所有捕获的异常抛给上级方法;

       throw则需要用户自己捕获相关的异常,而后再对其进行相关包装,最后将包装后的异常信息抛出。

Throwable类中定义了3个异常处理的方法

String getMessage() 返回此 throwable 的简短描述

String toString()返回此throwable 的详细消息字符串

void printStackTrace() JVM打印异常对象,默认此方法,打印的异常信息是最全面的。

 

finally语句

注意:finally有return语句,会永远返回finally语句,需避免该情况

 

LinkedHashMap特点:

    1. linkedHashMap集合底层是哈希表+链表(保证迭代的顺序)

    2 . linkedHashMap集合是一个有序的集合,存储元素和取出元素的顺序是一致的。

HashMap集合的特点:
    1 . HashMap集合底层是哈希表:查询的速度特别快

    2 . HashMap集合是一个无序集合,存储集合和取出集合的顺序可能不同。

 

 

keySet(); 

将hashMap中的键存储到返回的set集合中

Set<Integer> se = has.keySet();

 

 

Hashtable : 底层是一个哈希表,是一个线程安全的集合,是单线程集合,速度慢。

HashMap :底层是一个哈希表,是一个线程不安全的集合,是多线程的集合,速度快。

 

list接口,Set接口,Map接口:里面增加了一个静态方法of,可以一次性添加多个元素

static <E> list<E> of (E . . . elements)

前提:集合中存储的元素个数已经确定,不能更改。

注意:

    1 . of方法只适用于list接口,Set接口,Map接口,不适用于接口的实现类。

    2 . of方法的返回值是一个不可改变的集合,不能使用add等方法添加元素。

    3.  Set集合金和Map集合在调用of方法时,不能有重复元素

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值