美文网首页
Java集合框架(二)— Collection

Java集合框架(二)— Collection

作者: Sandy_678f | 来源:发表于2018-12-02 21:15 被阅读0次

Collection架构

image.png

Collection是一个接口,是高度抽象出来的集合,它包含了集合的基本操作和属性。

  1. Collection包含了List和Set两大分支。
    1).List是一个有序的队列,每一个元素都有它的索引。第一个元素的索引值是0。
    List的实现类有LinkedList, ArrayList, Vector, Stack。
    2). Set是一个不允许有重复元素的集合。
    Set的实现类有HashSet和TreeSet。HashSet依赖于HashMap,它实际上是通过HashMap实现的;TreeSet依赖于TreeMap,它实际上是通过TreeMap实现的。

  2. Map是一个映射接口,即key-value键值对。Map中的每一个元素包含“一个key”和“key对应的value”。
    AbstractMap是个抽象类,它实现了Map接口中的大部分API。而HashMap,TreeMap,WeakHashMap都是继承于AbstractMap。
    Hashtable虽然继承于Dictionary,但它实现了Map接口。

Collection的定义如下:

public interface Collection<E> extends Iterable<E> {}

Collection所有 API

abstract boolean         add(E object)
abstract boolean         addAll(Collection<? extends E> collection)
abstract void            clear()
abstract boolean         contains(Object object)
abstract boolean         containsAll(Collection<?> collection)
abstract boolean         equals(Object object)
abstract int             hashCode()
abstract boolean         isEmpty()
abstract Iterator<E>     iterator()
abstract boolean         remove(Object object)
abstract boolean         removeAll(Collection<?> collection)
abstract boolean         retainAll(Collection<?> collection)
abstract int             size()
abstract <T> T[]         toArray(T[] array)
abstract Object[]        toArray()

List

public interface List<E> extends Collection<E> {}

List相比Collection新增的接口

abstract void                add(int location, E object)
abstract boolean             addAll(int location, Collection<? extends E> collection)
abstract E                   get(int location)
abstract int                 indexOf(Object object)
abstract int                 lastIndexOf(Object object)
abstract ListIterator<E>     listIterator(int location)
abstract ListIterator<E>     listIterator()
abstract E                   remove(int location)
abstract E                   set(int location, E object)
abstract List<E>             subList(int start, int end)

Set

public interface Set<E> extends Collection<E> {}

Set的API和Collection完全一样。

AbstractCollection

public abstract class AbstractCollection<E> implements Collection<E> {}

AbstractCollection是一个抽象类,它实现了Collection中除iterator()和size()之外的函数。
AbstractCollection的主要作用:它实现了Collection接口中的大部分函数。从而方便其它类实现Collection,比如ArrayList、LinkedList等,它们这些类想要实现Collection接口,通过继承AbstractCollection就已经实现了大部分的接口了。

AbstractList

public abstract class AbstractList<E> extends AbstractCollection<E> implements List<E> {}

AbstractList是一个继承于AbstractCollection,并且实现List接口的抽象类。它实现了List中除size()、get(int location)之外的函数。
AbstractList的主要作用:它实现了List接口中的大部分函数。从而方便其它类继承List。
另外,和AbstractCollection相比,AbstractList抽象类中,实现了iterator()接口。

AbstractSet

public abstract class AbstractSet<E> extends AbstractCollection<E> implements Set<E> {}

AbstractSet是一个继承于AbstractCollection,并且实现Set接口的抽象类。由于Set接口和Collection接口中的API完全一样,Set也就没有自己单独的API。和AbstractCollection一样,它实现了Set中除iterator()和size()之外的函数。
AbstractSet的主要作用:它实现了Set接口中的大部分函数。从而方便其它类实现Set接口。

相关文章

  • java集合相关学习

    java集合框架解读 Java集合框架继承Collection和map两个接口,Collection的子类有Lis...

  • Java基础知识点(九)

    一、Java 中的集合框架(上) 1、Java 中的集合框架概述 JAVA集合框架体系结构:Collection与...

  • Java 集合框架分析

    Java 集合框架 包括Collection接口 和Map 接口 Collection集合 Set List Qu...

  • 集合相关问题

    Java有哪些集合框架?Java的集合框架主要包括两个集合类型的容器:集合(Collection)和图(Map)。...

  • Java自学-集合框架 Collection

    Java集合框架 Collection Collection是一个接口 步骤 1 : Collection Col...

  • 集合框架

    集合框架 Java的集合框架有哪几种: 两种:collection和map,其中collection分为set和L...

  • Java集合框架面试题

    标签(空格分隔): Java集合框架 面试题汇总 1. 什么是Java集合框架?请列举出集合(Collection...

  • 集合2

    Java集合框架成员:Collection系列,Map系列,Iterator系列。Collection、Map:盛...

  • java.util.Collection

    super interfaces:java.util.Iterable Collection接口是java集合框架...

  • Java Collection集合 浅析

    java集合框架主要包含Collection和Map。这里主要解析一下collection。collection主...

网友评论

      本文标题:Java集合框架(二)— Collection

      本文链接:https://www.haomeiwen.com/subject/haajcqtx.html