Java中List、Map是否都继承自Collection接口 ?

 我来答
百度网友9308069
推荐于2017-05-26 · TA获得超过1万个赞
知道大有可为答主
回答量:3947
采纳率:89%
帮助的人:1938万
展开全部
List继承或叫实现了Collection接口,而Map接口没有。
由于java接口可以多重实现,所以并不妨碍实现Map接口的子类同时也实现Collection接口。

==========
0分?加分加分,
缑益康学民
2020-02-12 · TA获得超过1190个赞
知道小有建树答主
回答量:1953
采纳率:100%
帮助的人:9.4万
展开全部
由collection接口派生的两个接口是list和set.map是继承map接口
list接口
  list是有序的collection,使用此接口能够精确的控制每个元素插入的位置。用户能够使用索引(元素在list中的位置,类似于数组下标)来访问list中的元素,这类似于java的数组。
和下面要提到的set不同,list允许有相同的元素。
  除了具有collection接口必备的iterator()方法外,list还提供一个listiterator()方法,返回一个listiterator接口,和标准的iterator接口相比,listiterator多了一些add()之类的方法,允许添加,删除,设定元素,还能向前或向后遍历。
  实现list接口的常用类有linkedlist,arraylist,vector和stack。
linkedlist类
  linkedlist实现了list接口,允许null元素。此外linkedlist提供额外的get,remove,insert方法在linkedlist的首部或尾部。这些操作使linkedlist可被用作堆栈(stack),队列(queue)或双向队列(deque)。
  注意linkedlist没有同步方法。如果多个线程同时访问一个list,则必须自己实现访问同步。一种解决方法是在创建list时构造一个同步的list:
    list
list
=
collections.synchronizedlist(new
linkedlist(...));
arraylist类
  arraylist实现了可变大小的数组。它允许所有元素,包括null。arraylist没有同步。
size,isempty,get,set方法运行时间为常数。但是add方法开销为分摊的常数,添加n个元素需要o(n)的时间。其他的方法运行时间为线性。
  每个arraylist实例都有一个容量(capacity),即用于存储元素的数组的大小。这个容量可随着不断添加新元素而自动增加,但是增长算法并没有定义。当需要插入大量元素时,在插入前可以调用ensurecapacity方法来增加arraylist的容量以提高插入效率。
  和linkedlist一样,arraylist也是非同步的(unsynchronized)。
map接口
 
 请注意,map没有继承collection接口,map提供key到value的映射。一个map中不能包含相同的key,每个key只能映射一个
value。map接口提供3种集合的视图,map的内容可以被当作一组key集合,一组value集合,或者一组key-value映射。
hashmap类
 
 hashmap和hashtable类似,不同之处在于hashmap是非同步的,并且允许null,即null
value和null
key。,但是将hashmap视为collection时(values()方法可返回collection),其迭代子操作时间开销和hashmap
的容量成比例。因此,如果迭代操作的性能相当重要的话,不要将hashmap的初始化容量设得过高,或者load
factor过低。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lengshai46
2011-05-21 · TA获得超过156个赞
知道答主
回答量:243
采纳率:0%
帮助的人:161万
展开全部
Map 的特点是使用键值对的存储方式 使用存储时设置的键(key)读取 List 的Java SDK不提供直接继承自Collection的类,Java SDK提供的类都是继承自
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
君默语
2011-05-22 · TA获得超过135个赞
知道答主
回答量:125
采纳率:100%
帮助的人:43.9万
展开全部
List 是继承Collection的
Map是来自Object的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
batahwk
2011-05-26 · TA获得超过1808个赞
知道小有建树答主
回答量:1175
采纳率:0%
帮助的人:0
展开全部
Map 的特点是使用键值对的存储方式 使用存储时设置的键(key)读取
List 的特点是像数组一样的存储方式 使用下标读取
session 也是使用键值对的存储方式,但是他多数应用在网站作用域中。
主要区别在于根据编程中对数据的存储需求来应用。
个人认为应该在平常的项目设计过程中比较会有更贴切的理解。我是这么过来的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式