JAVA知识回顾-3(HashMap、HashTable、ConCurrentHashMap、TreeMap、LindedHashMap、Collection、finally的执行)

原创 2015年11月20日 10:50:29

JAVA知识回顾总结-第三天

HashMap和HashTable的区别

  1. HashTable基于Dictionary类,HashMap是Map接口的一个实现类
  2. 主要的区别是:HashTable的方法是同步的,而HashMap的方法不是。
  3. HashMap可以允许有一个Key值为null

HashMap和ConCurrentHashMap的区别,HashMap的底层源码

  1. ConCurrentHashMap和HashMap很相似,但是ConCurrentHashMap支持在运行时修改集合对象。比如可以在迭代器遍历时对集合对象进行增删,而HashMap会抛出java.util.ConcurrentModificationException(迭代器遍历集合对象时的修改异常)
  2. 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还执行么?

  1. 实际行动来检验

    • 代码如下
    public 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执行

  2. 可以看出finally还是执行了

  3. 科普一下
    • 在try中没有异常的情况下try、catch、finally的执行顺序 try — finally
    • 如果try中有异常,执行顺序是try — catch — finally
    • 如果try中没有异常并且try中有return这时候正常执行顺序是try —- finally — return
    • 如果try中有异常并且try中有return这时候正常执行顺序是try—-catch—finally— return
    • 总之 finally 永远执行!
版权声明:本文为博主原创文章,未经博主允许不得转载。

hashtable、hashmap、ConcurrentHashMap、treemap的区别

本人原创,转载请注明出处! 本人QQ:530422429,欢迎大家指正、讨论。 欢迎访问: 西北工业大学 - 大数据与知识管理研究室 (Northwestern Polytechnical Un...
  • xin_jmail
  • xin_jmail
  • 2014年04月24日 19:51
  • 8562

从源代码看TreeMap、HashMap、Hashtable、ConcurrentHashMap、LinkedHashMap特性

TreeMap、HashMap、Hashtable、ConcurrentHashMap、LinkedHashMap 这几个都是Map的实现类,但是都有各自的特点: HashMap是基于Hash...
  • fzhsh
  • fzhsh
  • 2016年04月22日 23:50
  • 1081

java中HashMap,LinkedHashMap,TreeMap,HashTable,ConcurrentHashMap的区别和内部实现机制

首先简单介绍下,这几种map的应用场景: HashMap 存储键值对,没有什么特殊的功能; LinkedHashMap在存储的同时,能够保存用户插入数据的顺序,如果需要输出用户插入map的顺序可以...
  • liufangbaishi2014
  • liufangbaishi2014
  • 2016年09月26日 11:44
  • 1753

Java集合学习--HashMap、LinkedHashMap、TreeMap、HashTable

HashMap: 初始化: HashMap中有两个因子影响其性能:初始容量和加载因子。这两个参数都可以在创建时通过构造器传入,如果不指定,默认初始容量=16,加载因子=0.75,加载因子会影响reha...
  • yxinzju
  • yxinzju
  • 2015年08月19日 16:15
  • 832

深入解析HashMap、ConcurrentHashMap丶HashTable丶ArrayList

Java集合类是个非常重要的知识点,HashMap、HashTable、ConcurrentHashMap等算是集合类中的重点,可谓“重中之重”,首先来看个问题,如面试官问你:HashMap和Hash...
  • shadow_zed
  • shadow_zed
  • 2017年10月14日 11:21
  • 88

HashMap TreeMap Hashtable LinkedHashMap 区别

map是java中最常用的数据结构之一,在这篇文中,我将说明如何使用不同类型的maps,比如:HashMap,TreeMap,HashTable和LinkedHashMap。 Map概览 在jav...
  • maoyeqiu
  • maoyeqiu
  • 2015年09月27日 14:18
  • 1290

HashMap和Hashtable和HashTree和ConcurrentMap的区别

1.HashMap不是线程安全     HashMap是一个接口 是map接口的子接口,是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可以包含重复值。HashMap允许null k...
  • wantken
  • wantken
  • 2014年06月17日 14:46
  • 2076

HashMap、LinkedHashMap、ConcurrentHashMap、ArrayList、LinkedList的底层实现。

HashMap相关问题 1、你用过HashMap吗?什么是HashMap?你为什么用到它? 用过,HashMap是基于哈希表的Map接口的非同步实现,它允许null键和null值,且HashMa...
  • baidu_28068985
  • baidu_28068985
  • 2017年11月14日 12:23
  • 531

Vector ArrayList linkedlist set hashtable hashmap concurrenthashmap 的区别

Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├HashMap └...
  • hhcccchh
  • hhcccchh
  • 2014年06月09日 10:05
  • 1081

【Java集合之Map】HashMap、HashTable、TreeMap、LinkedHashMap区别

前言ArrayList和LinkedList都实现了List接口,大致区别如下: ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 对于随机访问get和se...
  • cyh1111
  • cyh1111
  • 2016年12月20日 13:03
  • 1172
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA知识回顾-3(HashMap、HashTable、ConCurrentHashMap、TreeMap、LindedHashMap、Collection、finally的执行)
举报原因:
原因补充:

(最多只允许输入30个字)