加载中…
个人资料
谢先斌
谢先斌
  • 博客等级:
  • 博客积分:0
  • 博客访问:392,483
  • 关注人气:201
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

Java中List、Set和Map接口的对比

(2013-09-23 19:36:10)
标签:

java

list

set

map

教育

分类: Java

Collection接口

Collection 层次结构 中的根接口,即Collection是集合类的基本接口。它的子接口有ListSet

1. 接口

List是一种能包含重复元素的有序集合(也称序列)。它实现的接口有ArrayListLinkedListStack等。

2 Set接口

数学上的集合(set??

Set是一种不包含重复元素的Collection。更正式地说,set不包含满足e1.equals(e2)的元素对e1e2,并且最多包含一个null元素。

 

下表是ListSet与Map及其以实现类的对比

 

 

 

 

List接口

Set接口

Map接口

参数的含义

该容器所存放值的类型

K - 此映射所维护的键的

类型,V - 映射值的类型

所在包

java.util

父类

Collection接口

区别

List是一种能包含重复元

素的有序集合。包含除父

类集成的接口方法以外的

方法。

Set中的元素是不重复的,且


至多包含一个null。仅包含


从父类集成的接口方法。

将键映射到值的对象。一

个映射不能包含重复的

键;每个键最多只能映射

一个值。

以下区别各自的常用以实现类

已实现的类

ArrayList

HashSet

HashMap

参数的含义

该容器所存放值的类型

K - 此映射所维护的键的

类型,V - 映射值的类型

说明

List 接口的大小可变数

组的实现。实现了所有可

选列表操作,并允许包括

null 在内的所有元素。

此类实现 Set 接口,由哈希

表(实际上是一个 HashMap

实例)支持。它不保证 set

的迭代顺序;特别是它不保

证该顺序恒久不变。此类允

许使用 null 元素。

基于哈希表的 Map 接口的

实现。此实现提供所有可

选的映射操作,并允许使

null 值和 null 键。


add()将指定的元素添加到

此列表的尾部或指定的位

置。

add(E e)如果 set 中尚未存

在指定的元素,则添加此元

素(可选操作)。

put(K key, V value)在此

映射中关联指定值与指定

键。

remove()移除此列表中指

定位置上的元素或指定的

元素。

remove(Object o)如果 set

中存在指定的元素,则将其

移除(可选操作)。

remove(Object key)从此

映射中移除指定键的映射

关系(如果存在)。

set(int index,

element)用指定的元素

替代此列表中指定位置上的

元素。

get(int index)返回此列

表中指定位置上的元素。

contains(Object o)如果

set 包含指定的元素,则返回

true

get(Object key)返回指定

键所映射的值;如果对于

该键来说,此映射不包含

任何映射关系,则返回

null

长度

size()返回此列表中的元

素数。

size()返回 set 中的元素数

(其容量)。

size()返回此映射中的键-

值映射关系数。


遍历方法

iterator()返回按适当顺

序在列表的元素上进行迭

代的迭代器。

iterator()返回在此 set

的元素上进行迭代的迭代

器。

keySet()返回此映射中所

包含的键的 Set 视图。


在通过get(key)方法获得

value

toArray()返回按适当顺

序包含列表中的所有元素

的数组(从第一个元素到

最后一个元素)。

toArray()返回一个包含 set

中所有元素的数组。

 

通过list.size()获取长

度后,逐个遍历List集合

 

 

contains()方法

contains(Object o)如果

列表包含指定的元素,则

返回 true

contains(Object o)如果

set 包含指定的元素,则返

true

containsKey(Object key)

如果此映射包含对于指定

键的映射关系,则返回

trueboolean

containsValue(Object

value) 如果此映射将一个

或多个键映射到指定值,

则返回 true

toArray使用例子:

1.Object[] str = set.toArray();

  for(int i=0; i

        System.out.println(str[i].toString());

  }

 

 

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有