Collection集合之六大接口(CollectionSetListMapIterator和Comparable)

Posted Eddyer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Collection集合之六大接口(CollectionSetListMapIterator和Comparable)相关的知识,希望对你有一定的参考价值。

首先,我们先看一下Collection集合的基本结构:

       技术分享

 

1、Collection接口

 

       Collection是最基本集合接口,它定义了一组允许重复的对象。Collection接口派生了两个子接口Set和List,分别定义了两种不同的存储方式,如下:

 

 

 

2、 Set接口

 

       Set接口继承于Collection接口,它没有提供额外的方法,但实现了Set接口的集合类中的元素是无序且不可重复。

 

       特征:无序且不可重复。

 

 

 

3、  List接口

 

        List接口同样也继承于Collection接口,但是与Set接口恰恰相反,List接口的集合类中的元素是对象有序且可重复。

 

       特征:有序且可重复。

 

       两个重要的实现类:ArrayList和LinkedList

 

       1.ArrayList特点是有序可重复的

 

       2.LinkedList是一个双向链表结构的。

 

 

 

4、Map接口

 

       Map也是接口,但没有继承Collection接口。该接口描述了从不重复的键到值的映射。Map接口用于维护键/值对(key/value pairs)。

 

       特征:它描述了从不重复的键到值的映射。

 

       两个重要的实现类:HashMap和TreeMap

 

       1.HashMap,中文叫散列表,基于哈希表实现,特点就是键值对的映射关系。一个key对应一个Value。HashMap中元素的排列顺序是不固定的。更加适合于对元素进行插入、删除和定位。

 

       2.TreeMap,基于红黑书实现。TreeMap中的元素保持着某种固定的顺序。更加适合于对元素的顺序遍历。

 

 

5Iterator接口

 

       Iterator接口,在C#里有例外一种说法IEnumerator,他们都是集合访问器,用于循环访问集合中的对象。
      所有实现了Collection接口的容器类都有iterator方法,用于返回一个实现了Iterator接口的对象。Iterator对象称作迭代器,Iterator接口方法能以迭代方式逐个访问集合中各个元素,并可以从Collection中除去适当的元素。

 

 

    <span style="font-size:10px;">Iterator it = collection.iterator(); // 获得一个迭代子    
    while(it.hasNext())     
    {    
    Object obj = it.next(); // 得到下一个元素    
    } </span>  

 

 

6、Comparable接口

      Comparable可以用于比较的实现,实现了Comparable接口的类可以通过实现comparaTo方法从而确定该类对象的排序方式。

 

以上是关于Collection集合之六大接口(CollectionSetListMapIterator和Comparable)的主要内容,如果未能解决你的问题,请参考以下文章

java基础之容器集合集合常用方法

laravel框架之集合

Java基础知识回顾-19(Collect接口,Iterator迭代器与增强for循环)

干货分享丨集合框架之HashMap底层实现原理

JAVA容器的那些事—集合

java8-StreamAPI之collection归约操作