java基础题练习04

1.java容器都有哪些?

主要分为两大类:Collection类 ,  Map类。

2.collection和collections有什么区别?

collection是集合层次结构的最根本的接口,定义了集合的基本方法。

collections是一个包装类,不能实例化,它包含了各种集合操作的静态多态方法。(collection集合框架的工具类)。

3.list,set,map之间的区别是什么?

list是有序集合,元素可重复,可为空。

set中的元素是无序,不可重复,只有一个空元素。SortedSet可排序,HashSet无序

map是一个接口,也是无序存储。(key,value)key无序且唯一的,value不要求无序,可重复。map可允许一个空键,多个空值。

4.HashMap和Hashtable有什么区别?

HashMap允许键值对都可以为null,而Hashtable不允许任何一个为null。

HashTable的方法是同步的,HashMap不能同步(线程非安全)。

(HashMap的Iterator是快速失败迭代器;Hashtable还使用了enumerator迭代器)

hash的计算方式不同:

     HashMap为了得到元素的位置,首先需要根据元素的 Key计算出一个hash值。

     Hashtable直接使用key对象的hashCode。

HashTable是继承自Dictionary类,而HashMap是继承自AbstractMap类(不过它们都同时实现了

map,Cloneable(可复制)、Serializable(可序列化)这三个接口。)

5.ArrayList和LinkedList的区别是什么?

ArrsyList需要开辟连续的内存空间。LinkedList不需要连续的内存空间。

ArrayList底层是数组存储,LinkedList底层是双循环链表存储。

ArrayList插入和删除元素,时间复杂度受位置影响。需要将插入或删除位后面的元素后移或前移一位。LinkedList插入和删除元素,时间复杂度不受位置影响,只需要更改插入或删除位的前后指针地址。(ArrayList增删慢,LinkedList增删快)。

ArrayList支持随机访问,可以快速查询。Linkedlist不支持高效随机访问,查询慢。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值