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

发布时间: 更新时间: 总字数:1533 阅读时间:4m 作者: IP上海 分享 网址

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

Collection接口

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

接口

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

Set接口

数学上的集合(set)??

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

下表是List、Set与Map及其以实现类的对比

List接口 Set接口 Map接口
参数的含义 该容器所存放值的类型 该容器所存放值的类型 K - 此映射所维护的键的类型,V - 映射值的类型
所在包 java.util java.util java.util
父类 Collection接口 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,E 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
遍历方法 1. iterator()返回按适当顺序在列表的元素上进行迭代的迭代器。2. toArray()返回按适当顺序包含列表中的所有元素的数组(从第一个元素到最后一个元素)。3. 通过list.size()获取长度后,逐个遍历List集合 1. iterator()返回在此 set 中的元素上进行迭代的迭代器。2. toArray()返回一个包含 set中所有元素的数组。 keySet()返回此映射中所包含的键的 Set 视图。在通过get(key)方法获得value
contains()方法 contains(Object o)如果列表包含指定的元素,则返回 true。 contains(Object o)如果set 包含指定的元素,则返回 true。 containsKey(Object key)如果此映射包含对于指定键的映射关系,则返回true。Boolean containsValue(Objectvalue) 如果此映射将一个或多个键映射到指定值,则返回 true。

toArray使用例子:

Object[] str = set.toArray();
for(int i=0; i< ; i++) {
    System.out.println(str[i].toString());
}
Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数