集合框架Collection(一)

1.1集合概念

  1.1.1集合:是java中提供的一种容器,用来存储多个数据

    数组和集合的区别:1.数组的长度是固定的,集合的长度是可变的;2.数组中存储数据类型是同一类型,可以存储基本数据类型值,集合存储的都是对象,不能存储基本数据类型           值,对象数据类型可以不一致,一般在开发中使用集合存储。

  1.1.2   集合框架:javaSE提供了各种API(方法).

 集合按照存储结构可以分为两大类:1.单列集合java.util.Collection  2.双列集合java.util.Map

1.1.3  Collection: 单列集合的根接口,用于存储一系列符合某种规则的元素,有两个子接口,List 和Set.

Collection:定义了所有单列集合的共性方法。

List接口:有序的集合,允许重复元素存在,有索引,可以用普通的for循环进行遍历。

Set接口:无序集合,不允许重复元素存在,无索引,不能用for循环遍历,要用迭代器遍历。

                                                   Collection

                                      List                                   Set

                          ArrayList   LinkedList          TreeSet      HashSet

                                                                                        LinkedHashSet(有序)

Collection常用功能:add();   添加

                                  clear();  清空

                                  remove();  指定删除

                                  contains();   判断集合是否包含该元素

                                  isEmpty();  判断该集合是否为空

                                  size();   返回元素个数

                                   toArray();  把集合转化为数组

1.2List接口

1.2.1List接口介绍:继承Collection的单列集合。有序的集合,允许重复元素存在,有索引,可以用普通的for循环进行遍历。

1.2.2List接口中的方法:

       add();

       remove();

       get();  获取指定元素

  set();替换指定位置的元素

1.2.3  ArrarList集合:元素增删慢,查询块

1.2.4  LinledList集合:方便元素添加和删除

  常用方法:addFirst();        在集合首部添加

                         addLast();  在集合尾部添加

                         getFirst();    获取集合首部元素

                         getLast();    获取集合尾部元素

                         removeFirst();  移除集合首部元素

                         removeLast(); 移除集合尾部元素

       push();             从头推入一个元素

                         pop();                从头起弹出一个元素

  1.3迭代器Iterator

     方法:hasnext();  如果迭代中有元素,返回true

               next();返回迭代中下一个元素

1.3.1迭代器概述:接口,经常遍历集合中的所有元素,针对这种需求,jdk专门提供了一个接口java.util.Iterator--------属于集合的一部分

         迭代:Collection集合元素通用的获取方式,在取元素之前先判断有没有元素,如果有就把这个元素取出来,继续判断,如果还有就继续取,一直到把集合中元素全部取出。

           每一个接口都有一个获得迭代器的方法。

1.4Set接口:  实现类HashSet,  LinkedHashSet

1.4.1Set概述 :java.util.Set接口,继承Collection.           其中元素是无序的,不能重复,没有索引,不能直接用for循环遍历,要用迭代器遍历。

1.4.2HashSet:  Set接口的实现类,无序无索引,不能重复,底层是一个哈希表的结果,查询速度非常快。

1.4.3 LinkedHashSet :Set接口的实现类,不可重复,有序。

1.5Collections集合工具类

1.5.1常用方法:

   addAll(Collection  c): 添加一些元素

   shuffle(List I):  打乱顺序

 sort(List I) : 排序(默认升序)

1.6Map集合

1.6.1概述:java提供了专门的集合类来存放一一对应关系的元素,java.util.Map

1.6.2多个子类: HashMap------->LinkedHashMap

1.6.3Map接口中的方法:

put(key,value);          放入键和值

remove(key);            移除,(移除的是键,返回数据是被删除的键的值,若键不存在,则返回null)

get();                         获取

containsKey();          判断是否包含指定的键

Set  keySet();          获取Map中所有键的集合

1.6.4  Map 集合的特点

      1.双列无序,一个元素包含两个值

      2.key和value数据类型可以相同,也可以不相同

   3.key不允许重复,value可以重复

   4.key和value是一一对应的关系

1.6.5第一种遍历方式:通过键找值,Set keySet()返回

      使用步骤:1.使用Map集合中keySet()  把key取出来存储到一个Set集合中

                        2.遍历Set集合,获取Map集合中的键(可以用迭代器遍历也可以用增强for循环)

        3.通过Map集合中方法 get(key)获取value.

1.6.6第二种遍历方式:使用entry对象遍历

        1.使用entrySet  把entry对象取出来,存储到Set集合中

        2.遍历Set集合,获取每一个Entry对象

        3.使用Entry对象中的方法 getKay();            getValue();

   

    

      

     

猜你喜欢

转载自www.cnblogs.com/wangpengb/p/10883443.html