JAVA知识回顾-3(HashMap、HashTable、ConCurrentHashMap、TreeMap、LindedHashMap、Collection、finally的执行)
java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称。本站提供基于Java框架struts,spring,hibernate等的桌面应用、web交互及移动终端的开发技巧与资料
保持永久学习的心态,将成就一个优秀的你,来 继续搞起java知识。
JAVA知识回顾总结-第三天
HashMap和HashTable的区别
HashTable基于Dictionary类,HashMap是Map接口的一个实现类
主要的区别是:HashTable的方法是同步的,而HashMap的方法不是。
HashMap可以允许有一个Key值为null
HashMap和ConCurrentHashMap的区别,HashMap的底层源码
ConCurrentHashMap和HashMap很相似,但是ConCurrentHashMap支持在运行时修改集合对象。比如可以在迭代器遍历时对集合对象进行增删,而HashMap会抛出java.util.ConcurrentModificationException(迭代器遍历集合对象时的修改异常)
详细介绍HashMap和ConCurrentHashMap的区别
HashMap的底层源码
HashMap底层是数组,而且是一个Entry类型的数组
TreeMap、HashMap、LindedHashMap的区别
TreeMap取出来的是排序后的键值对
是一个最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度,遍历时,取得数据的顺序是完全随机的
LinkedHashMap是HashMap的子类,保存了记录的插入顺序,可以实现输出的顺序和输入的相同
Collection包结构、与Collections的区别
Collection是接口是各集合的父接口,Collections是类,包含各有关集合操作的静态方法
Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式,Collections是一个包装类(工具包),它包含有各种有关集合操作的静态多态方法。此类不能实例化,就像一个工具类,用于对集合中元素进行排序、搜索以及线程安全等各种操作,服务于Java的Collection框架。
try…catch…finally、try里有return、finally还执行么?
实际行动来检验
代码如下
1public class three {
public static void main(String[] args) {
fun();
}
static void fun()
{
try {
System.out.println("代码段");
return;
} catch (Exception e) {
}finally {
System.out.println("finally执行");
}
}
}
结果
代码段
finally执行
可以看出finally还是执行了
科普一下
在try中没有异常的情况下try、catch、finally的执行顺序 try — finally
如果try中有异常,执行顺序是try — catch — finally
如果try中没有异常并且try中有return这时候正常执行顺序是try —- finally — return
如果try中有异常并且try中有return这时候正常执行顺序是try—-catch—finally— return
总之 finally 永远执行!
java回顾
因为水平有限,难免有疏忽或者不准确的地方,希望大家能够直接指出来,我会及时改正。一切为了知识的分享。
后续会有更多的精彩的内容分享给大家。
支付宝扫一扫
微信扫一扫
