集合

作者: _NineSun旭_ | 来源:发表于2019-03-06 20:06 被阅读0次

    什么是集合

    存放于java.util包中,用来存放对象的容器。

    集合的特性

    只能存放对象,基本数据类型的会自动转换;
    集合里存放的是对象的引用,对象本身还是在内存中;
    可以存放不同类型、不限数量的对象;

    集合的关系树

    • Iterable:是存在lang包里的集合的顶层类(不包括Map集合),内部有Iterator接口,实现该接口就可以实现迭代器;

      Iterator迭代器方法:hasNext()、next()、remove();

    • Collection:是一个继承Iterable的接口;

    常用方法:add()、remove()、contains()、isEmpty()、get()、size()、indeOf()、toArray();

    • List:继承Collection接口,是一个有序,可重复的集合,有三个典型实现类:

    1.ArrayList:数据结构是数组,查询快、增删慢、线程不安全、效率高。
    2.Vector:数据结构是数组,查询快、增删慢、线程安全、效率慢,几乎淘汰。
    3.LinkedList:数据结构是链表,查询慢、增删快、线程不安全、效率高。

    • set:继承Collection接口,是一个无序,不可重复的集合,线程不安全、集合元素可以为null,底层是数组,能够加快查询速度。有三个典型实现类:

    1.HashSet:不允许重复、不安全、不保证顺序,查询快,通过equals和hashCode判断
    2.LinkedHashSet:不允许重复、不安全、保证顺序,查询稍快,底层采用哈希算法和链表算法
    3.TreeSet:不允许重复、不安全、不保证顺序,对元素排序,采用红-黑树算法,适合范围查询。

    • Map:不同于Collection的集合接口,表示的是两个集合之间的映射关系,即两个集合通过映射关系关联,可以视为一条数据。

    常用的实现类:
    HashMap:无序、不允许key重复
    TreeMap:数据结构采用红黑树
    LinkedHashMap:有序、链表实现
    HashTable:HashMap前身,已经不用
    Properties :key、value都是String类型

    相关文章

      网友评论

          本文标题:集合

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