HashMap和HashTable的描述,错误的是()。A、他们都实现了Map接口B、HashMap非线程安全,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap就必须为之提供额外同步。C、HashMap允许将null作为一个entry的key或者value,而Hashtable不允许D、通过contains方法可以判断一个对象是否存在于HashMap或者Hashtable中

题目

HashMap和HashTable的描述,错误的是()。

  • A、他们都实现了Map接口
  • B、HashMap非线程安全,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap就必须为之提供额外同步。
  • C、HashMap允许将null作为一个entry的key或者value,而Hashtable不允许
  • D、通过contains方法可以判断一个对象是否存在于HashMap或者Hashtable中

相似考题
更多“HashMap和HashTable的描述,错误的是()。A、他们都实现了Map接口B、HashMap非线程安全,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap就必须为之提供额外同步。C、HashMap允许将null作为一个entry的key或者value,而Hashtable不允许D、通过contains方法可以判断一个对象是否存在于HashMap或者Hashtable中”相关问题
  • 第1题:

    HashMap和Hashtable的区别。


    正确答案:
    答:HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable.

  • 第2题:

    阅读以下说明和Java代码,将应填人 (n) 处的字句写在答题纸的对应栏内。

    【说明】

    Java.util包中提供了HashMap模板类,该模板类可以表示多个“键一值”对的集合,其中“键”的作用与普通数组中的索引相当,而“值”用作待存储和检索的数据。HashMap实现了Map接口。在Map接口中定义了put和get方法,put方法表示Map对象中加入一个“键-值”对,get方法则通过“键”来获取其对应的“值”。

    下面的Java代码中使用了HashMap模板类,将编号为1001、1002、1003的员工信息插入到HashMap对象中,然后输入一个指定的员工编号,通过员工编号来获取员工的基本信息。员工编号为整型编码,而员工的基本信息定义为类employee。HashMap对象与员工对象之间的关系及存储结构如图5—2所示。

    【Java代码】

    import Java.util.*;

    class employee{

    employee(String name,String phoneNumber,String address){

    this.name=name;

    thi s.phoneNumber=phoneNumber ;

    this.address=address;

    }

    String name;

    String phoneNumber;

    String address;

    };

    publ ic class jaVaMain{

    public static void main(String[]args){

    MapemployeeMap=new HashMap(Integer,employee>();

    for(Integer employIndex=1001;employIndex<=1003;employIndex++){

    String tmp=employlndex. (1 ) ();

    employeeMap. (2) (employIndex, (3) (”employee-”+

    tmp,“85523927-”

    +tmp,”addresS-”

    +tmp)

    );//将员工编号和员工信息插入到employeeMap对

    象中

    )

    int employeeNo=0;

    System.out.print(”请输入员工编号:”);

    Scanner S=new Scanner(System.in);

    employeeNo=.s.nextInt(); //从标准输入获得员工编号

    employee result=employeeMap. (4)(employeeNo);

    if( (5) ==null)(

    System.out.println(”该员工编号不存在!”);

    return;

    System.out.println(“你所查询的员工编号为:”+employeeNo);

    System.out.printld(“该员工姓名:”+result.name);

    System.out.println(“该员工电话:”+result.phoneNumber);

    System.out.println(“该员工地址:“+result.address);

    }

    }


    正确答案:(1)toString (2)put (3)new employee (4)get (5)result
    (1)toString (2)put (3)new employee (4)get (5)result 解析:在空(1)我们可以看到trap是String类型的,而employlndex是Integer类型的,很显然这里是要把employIndex转换为String类型赋值给临时变量tmp,所以可以使用整型数的“toString'’方法;空(2)和空(3)所在的行根据注释可以看出是希望构造一个新的员工对象,并将这个新对象以及其编号加入HashMap类的实例employee-Map中,而我们从前面的说明可以知道HashMap类中的put函数可以直接实现加入这一功能,所以空(2)的答案为“put”,而空(3)处需要使用。new构造一个新的employee对象,所以答案为“new employee”;空(4)处我们得到了一个员工编号,根据题意这里主要是使用HashMap类的get函数来查询对应员工编号的员工信息,并将其存放到result中,如果没有查到result将为空,并输出提示语句提示该员工编号不存在,所以空(4)的答案为“get”,空(5)的答案为“result”。

  • 第3题:

    简述HashMap和Hashtable的区别。


    正确答案: 都属于Map接口的类,实现了将惟一键映射到特定的值上。  
    HashMap 类没有分类或者排序。它允许一个 null 键和多个 null 值。
    Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。它也比HashMap 慢,因为它是同步的。

  • 第4题:

    下列哪个说法是正确的:()。

    • A、ConcurrentHashMap使用synchronized关键字保证线程安全
    • B、HashMap实现了Collection接口
    • C、Arrays.asList方法返回java.uti.ArrayList对象
    • D、SimpleDateFormat对象是线程不安全的

    正确答案:D

  • 第5题:

    关于Java的集合下面说法错误的是()

    • A、Collections是针对集合类的一个帮助类。提供了一系列静态方法实现对各种集合的搜索、排序、线程完全化等操作
    • B、Collection没有get()方法来取得某个元素。只能通过iterator()遍历元素。
    • C、HashMap会利用对象的hashCode来快速找到key。
    • D、List、Set、Map 都是不允许重复的集合。
    • E、Map中元素,可以将key序列、value序列单独抽取出来。

    正确答案:D

  • 第6题:

    给定如下Java程序代码片段,编译运行这段代码,结果是()。 java.util.HashMap map=new java.util.HashMap(); map.put("name",null); map.put("name","Jack"); System.out.println(map.get("name"));

    • A、null
    • B、Jack
    • C、nullJack
    • D、运行时出现异常

    正确答案:B

  • 第7题:

    HashMap和Hashtable区别?


    正确答案: HashMap是Hashtable的轻量级实现,非线程安全的实现他们都实现了map接口,主要区别是HashMap键值可以为空null,效率可以高于Hashtable。

  • 第8题:

    在Java中,关于HashMap类的描述,以下错误的是()。

    • A、HashMap使用键/值得形式保存数据
    • B、HashMap 能够保证其中元素的顺序
    • C、HashMap允许将null用作键
    • D、HashMap允许将null用作值

    正确答案:B

  • 第9题:

    1. import java.util.*;  2.  3. Class FindStuff {  4. public static void  main(String [] args) {  5. // insert code here  6. c.put("x", 123);  7. }  8. } 分别插入到第5行,哪三行允许代码编译?() 

    • A、Map c = new SortedMap();
    • B、HashMap c = new HashMap();
    • C、HashMap c = new Hashtable();
    • D、SortedMap c = new TreeMap();

    正确答案:A,B,D

  • 第10题:

    多选题
    有关hashMap跟hashTable的区别,说法正确的是()。
    A

    HashMap和Hashtable都实现了Map接口

    B

    HashMap是非synchronized,而Hashtable是synchronized

    C

    HashTable使用Enumeration,HashMap使用Iterator

    D

    Hashtable直接使用对象的hashCode,HashMap重新计算hash值,而且用与代替求模


    正确答案: D,C
    解析: 暂无解析

  • 第11题:

    多选题
    HashMap和Hashtable正确的说法有()
    A

    都属于Map接口的类

    B

    Hashtable 类不是同步的,HashMap类是同步的

    C

    Hashtable 类不允许 null 键和 null 值

    D

    HashMap 类允许null 键和null 值


    正确答案: D,A
    解析: 暂无解析

  • 第12题:

    ( 难度:中等)以下关于集合类ArrayList、LinkedList、HashMap描述正确的是()
    A.A:HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值
    B.B:ArrayList和LinkedList均实现了List接口
    C.C:添加和删除元素时,ArrayList的表现更佳
    D.D:ArrayList的访问速度比LinkedList快

    答案:ABD

  • 第13题:

    ArrayList和Vector的区别,HashMap和Hashtable的区别


    正确答案:

     

    就ArrayList与Vector主要从二方面来说.
    一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的
    二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半
    就HashMap与HashTable主要从三方面来说。
    一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现
    二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的
    三.值:只有HashMap可以让你将空值作为一个表的条目的key或value

  • 第14题:

    Hashtable,HashMap,ConcurrentHashMap都是Map的实现类,它们在处理null值的存储上有细微的区别,下列哪些说法是正确的:

    A.Hashtable的KV都不可以为null

    B.HashMap的KV都可以为null

    C.HashMap的K不可以为null,V可以为null

    D.ConcurrentHashMap的KV都不可以为null


    正确答案:ABD

  • 第15题:

    如果HashMap发生大量Hash冲突,则会导致()

    • A、HashMap崩溃,导致不可用
    • B、HashMap没有影响,依然可以高效的工作
    • C、HashMap的性能会有一点影响,但总体依然是高效的
    • D、HashMap依然可用,但是性能受到重创

    正确答案:D

  • 第16题:

    HashMap和Hashtable正确的说法有()    

    • A、都属于Map接口的类
    • B、Hashtable 类不是同步的,HashMap类是同步的
    • C、Hashtable 类不允许 null 键和 null 值
    • D、HashMap 类允许null 键和null 值

    正确答案:A,C,D

  • 第17题:

    如何向一个HashMap对象中添加元素?


    正确答案:通过调用Map接口中定义好的put()方法可以该对象中添加相应的元素,该方法原型为Objectput(Objectkey,Objectvalue)。
    如若已经建立了一个HashMap对象hashmap,则可使用hashmap.put(“关键字”,“元素值”)来向hashmap对象添加元素及该元素的值。

  • 第18题:

    线程安全的map在JDK 1.5及其更高版本环境有哪几种方法可以实现()。

    • A、Map map = new HashMap()
    • B、Map map = new TreeMap()
    • C、Map map = new ConcurrentHashMap()
    • D、Map map = Collections.synchronizedMap(new HashMap())

    正确答案:C,D

  • 第19题:

    34. HashMap props = new HashMap();  35. props.put(”key45”, “some value”);  36. props.put(”key12”, “some other value”);  37. props.put(”key39”, “yet another value”);  38. Set s = props.keySet();  39. // insert code here  What, inserted at line 39, will sort the keys in the props HashMap?() 

    • A、 Arrays.sort(s);
    • B、 s = new TreeSet(s);
    • C、 Collections.sort(s);
    • D、 s = new SortedSet(s);

    正确答案:B

  • 第20题:

    有关hashMap跟hashTable的区别,说法正确的是()。

    • A、HashMap和Hashtable都实现了Map接口
    • B、HashMap是非synchronized,而Hashtable是synchronized
    • C、HashTable使用Enumeration,HashMap使用Iterator
    • D、Hashtable直接使用对象的hashCode,HashMap重新计算hash值,而且用与代替求模

    正确答案:A,B,C,D

  • 第21题:

    问答题
    简述HashMap和Hashtable的区别。

    正确答案: 都属于Map接口的类,实现了将惟一键映射到特定的值上。  
    HashMap 类没有分类或者排序。它允许一个 null 键和多个 null 值。
    Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。它也比HashMap 慢,因为它是同步的。
    解析: 暂无解析

  • 第22题:

    单选题
    34. HashMap props = new HashMap();  35. props.put(”key45”, “some value”);  36. props.put(”key12”, “some other value”);  37. props.put(”key39”, “yet another value”);  38. Set s = props.keySet();  39. // insert code here  What, inserted at line 39, will sort the keys in the props HashMap?()
    A

     Arrays.sort(s);

    B

     s = new TreeSet(s);

    C

     Collections.sort(s);

    D

     s = new SortedSet(s);


    正确答案: D
    解析: 暂无解析

  • 第23题:

    (难度:中等)Hashtable是同步的,而HashMap不是。因此,HashMap更适合于单线程环境,而Hashtable适合于多线程环境。

    答案:(yes)