zoukankan      html  css  js  c++  java
  • 【java读书笔记】——Collection集合之六大接口(Collection、Set、List、Map、Iterator和Comparable)

           两个月之前准备软考时,简单的从理论上总结了最经常使用的数据结构和算法,比方:线性表链表。在进行java开发时,jdk为我们提供了一系列对应的类来实现主要的数据结构。jdk所提供的容器API位于java.util包内。本文主要是通过简单的介绍Collection集合,向读者简单阐述各个类的基本定义以及其作用,为后面的学习做一下铺垫。


    首先,我们先看一下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中的元素保持着某种固定的顺序。更加适合于对元素的顺序遍历。


    5、Iterator接口

           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集合分别派生自Collection和Map接口,Collection有两个经常使用子接口List和Set,分别表示有序可反复,无序不可反复的集合。而Map存储的是key-value的映射。


            上面的总结看上去非常多,非常繁琐,事实上你仅仅要记得一点:collection是用于处理各种数据结构的,依据各种数据结构的特点理解,一切都会变简单。


          尽管此博客有点糙,也希望能帮助你对集合的理解有一点点作用(尤其是对组织中人)。以下的博文,我会更新一些有关线程的基础知识,请继续关注。



  • 相关阅读:
    TCP源码—连接建立
    TCP系列02—连接管理—1、三次握手与四次挥手
    TCP系列01—概述及协议头格式
    ubuntu软件管理apt与dpkg
    318. Maximum Product of Word Lengths
    317. Shortest Distance from All Buildings
    316. Remove Duplicate Letters
    315. Count of Smaller Numbers After Self
    314. Binary Tree Vertical Order Traversal
    313. Super Ugly Number
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4017801.html
Copyright © 2011-2022 走看看