美文网首页
Java集合框架介绍

Java集合框架介绍

作者: 学不好语文的LJ码农 | 来源:发表于2016-12-01 13:26 被阅读46次

    以下内容整理自互联网,仅用于个人学习


    Java集合框架大致可分为五个部分:List,Set,Map,迭代器(Iterator,Enumeration),工具类(Arrays,Collections)

    集合类主要分为两大类:Collection和Map。

    Collection是List、Set等集合高度抽象出来的接口,它包含了这些集合的基本操作,它主要又分为两大部分:List和Set。

    List接口通常表示一个列表(数组、队列、链表、栈等),其中的元素可以重复,常用实现类为ArrayList和LinkedList,另外还有不常用的Vector。LinkedList还实现了Queue接口,因此也可以作为队列使用。

    Set接口通常表示一个集合,其中的元素不允许重复。常用实现类有HashSet和TreeSet,HashSet是通过Map中的HashMap实现的,而TreeSet是通过Map中的TreeMap实现的。TreeSet实现了SortedSet接口,因此是有序的集合。

    Map是一个映射接口,其中的每个元素都是一个key-value键值对,TreeMap、HashMap、WeakHashMap等实现类都通过继承AbstractMap来实现,另外,不常用的HashTable直接实现了Map接口,它和Vector都是JDK1.0就引入的集合类。

    Iterator是遍历集合的迭代器(不能遍历Map,只用来遍历Collection),Collection的实现类都实现了iterator()函数,它返回一个Iterator对象,用来遍历集合,ListIterator则专门用来遍历List。而Enumeration则是JDK1.0时引入的,作用与Iterator相同,但它的功能比Iterator要少,它只能再Hashtable、Vector和Stack中使用。

    Arrays和Collections是用来操作数组、集合的两个工具类,例如在ArrayList和Vector中大量调用了Arrays.Copyof()方法,而Collections中有很多静态方法可以返回各集合类的synchronized版本,如果要用线程安全的结合类,首选Concurrent并发包下的对应的集合类。

    Collections功能

    • 二分查找
    • 为Collection添加不定数量参数作为子元素
    • 将一个List所有元素复制到另一个List
    • 获取Collection中最大最小值
    • 判断两个元素是否相等
    • 对集合排序
    • 返回单例
    • 将线程不安全的Map、Set转为线程安全的对象

    Arrays功能

    • 二分查找
    • 将数组转化为List对象
    • 复制数组指定范围的元素为一个新的数组
    • 给数组指定范围的每个元素赋一个值,排序等

    Collection包结构,与Collections的区别
    Collection是一个接口,它是Set、List等容器的父接口;Collections是一个工具类,提供了一系列的静态方法来辅助容器操作,这些方法包括对容器的搜索、排序、线程安全化等等。

    相关文章

      网友评论

          本文标题:Java集合框架介绍

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