Day07_34_集合概述

集合概述

* 主要集合概述
  
  - 集合相当于现实世界中的容器,主要包含两种存放模式,一个一个的存(Collection),  一对一对存(Map[key,value])

  - 集合中只能存储引用数据类型,不能存储基本数据类型。

  - 所有的集合都是可迭代的。

  -java集合主要有三种重要类型
    
  List  是一个有序集合可以放重复的数据(有序可重复)

  Set   是一个无序集合 不允许放重复数据(无序不可重复)

  Map   是一个无序集合,集合中包含一个键对象,一个值对象,键对象不允许重复,值对象可以重复(例如:身份证号和姓名)

   * 集合在  java.util下
   
    
   * 集合 Collection 中接口关系 (--->代表下一级继承关系  / 代表平级关系  )

  - 因为父接口 Iterable中有iterator()方法,而其下所有接口集合都继承了 Iterable,所以所有的集合都有 (iterator方法),所有集合调用iterator()方法后返回一个iterator接口迭代 
        器,集合获取到iterator接口迭代器之后,就可以使用迭代器去遍历集合。


  —  terator接口迭代器中有三个遍历方法: 
   
	-  boolean hasNext() : 如果集合中仍有元素,还可以继续迭代则返回true,否则false。

	-  next() :  返回迭代的下一个元素。

	-  remove(): 从迭代器指向的 collection 中,移除迭代器返回的最后一个元素。


     - 关系图

     ![](https://img2020.cnblogs.com/blog/2334081/202103/2334081-20210331181629286-1943179493.jpg)





       <interface>:  Iterable(接口)----中有---(iterator()方法)
                 

                 Iterable(接口)--->Collection(接口)--(调用iterator()方法)--得到 iterator接口迭代器(作用:遍历集合)

       <interface>:  iterator 接口---> boolean hasNext()/next()/remove() 方法  (作用:遍历集合)

   <interface>:  Iterable(接口)--->Iterable(接口)--->Collection(接口)--->List(接口)/Set(接口)

   <class> : List(接口)---> ArrayList/LinkedList/Vector(类)

       <class> : Set(接口)---> HashSet()类/SortedSet子接口

                 Set(接口)---> SortedSet子接口--->TreeSet类


     - Collection集合的特点

         > List 集合存储数据的特点:有序可重复,存进去什么顺序,取出来还是什么顺序

     > Set 集合存储元素的特点:无序不可重复,存进去什么顺序,取出来不一定按照该顺序

     > SortedSet集合存储数据的特点:无序不可重复的,但是存储进去的元素可以按照元素的大小自动排序


 
    - Collection 集合中各类(class) 的特点


    > ArrayList:  ArrayList底层是采用数组存储元素的,所以ArrayList适合查询,不适合频繁的增删元素

    > LinkedList: LinkedList底层是采用双向链表这种数据结构存储数据的,链表适合增删元素,不适合查询操作。

    > Vector:  Vector底层也是使用的数组存储元素,和ArrayList相似,但是Vector是线程安全的(可以在多线程环境下使用),但是效率较低。

    > HashSet : 哈希表/散列表

    > TreeSet :TreeSet是有序的Set集合,因此支持add、remove、get等方法。
posted @ 2021-03-31 18:17  失昼  阅读(107)  评论(0)    收藏  举报