程序员人生 网站导航

Java基础――集合(一)――集合体系、Collection集合

栏目:php教程时间:2015-06-01 09:20:00

1、集合概述

         Java是1种面向对象语言,如果我们要针对多个对象进行操作,就必须对多个对象进行存储。而数组长度固定,不能满足变化的要求。所以,java提供了集合。

         特点

                1.        长度可以产生改变

                2.        只能存储对象

                3.        可以存储多种类型对象

           与数组区分          

 

数组

集合

长度

固定

可变

存储元素

基本类型/援用类型

援用类型

元素类型的1致性

必须1致

可以不1致

2、集合体系

          集合作为1个容器,可以存储多个元素,但是由于数据结构的不同,java提供了多种集合类。将集合类中共性的功能,不断向上抽取,终究构成了集合体系结构。

          数据结构:数据存储的方式

          Java中集合类的关系图

          

         集合体系导图(用鼠标拖动图片可看大图右击图片选择在新标签页中打开图片(I)


3、Collection

           Collection是最基本的集合接口,1个Collection代表1组Object,即Collection的元素(Elements)。1些Collection允许相同的元素而另外一些不行。1些能排序而另外一些不行,因而衍生出两个子类接口List和Set。

           

      Collection基本功能

          A:添加功能

                          booleanadd(Object obj):向集合中添加1个元素

                          booleanaddAll(Collection c):向集合中添加1个集合的元素。

          B:删除功能

                          voidclear():删除集合中的所有元素。

                          booleanremove(Object obj):从集合中删除指定的元素

                          booleanremoveAll(Collection c):从集合中删除1个指定的集合元素。

          C:判断功能

                          booleanisEmpty():判断集合是不是为空。

                          booleancontains(Object obj):判断集合中是不是存在指定的元素。

                          booleancontainsAll(Collection c):判断集合中是不是存在指定的1个集合中的元素。

          D:遍历功能

                          Iterator iterator():就是用来获得集合中每个元素。

          E:长度功能

                          intsize():获得集合中的元素个数

          F:交集功能

                          booleanretainAll(Collection c):判断两个集合中是不是有相同的元素。???

          G:把集合转换成数组

                          Object[]toArray():把集合变成数组。

       List接口

            List接口下的集合元素存储有序,可以重复。

            List的特有功能

              A:添加功能

                  voidadd(int index, Object obj):在指定位置添加元素

              B:删除功能

                  Objectremove(int index):根据指定索引删除元素,并把删除的元素返回。

              C:修改功能

                  Objectset(int index, Object obj):把指定索引位置的元素修改成指定的值,返回修改前的值。

              D:获得功能

                  intindexOf(Object o):返回指定元素在集合中第1次出现的索引

                  Objectget(int index):获得指定位置的元素

                  ListIteratorlistIterator():列表迭代器

              E:截取功能

                  ListsubList(int fromIndex, int toIndex):截取集合。

      Set 接口

               Set接口下的元素无序,不可以重复。其下面分为HashSet和TreeSet。

              HashSet

               底层数据结构是哈希表,线程不安全,效力高。

               保证唯1性依赖两个方法:hashCode()和equals()。

               顺序:

                       判断hashCode()值是不是相同。

                       相同:继续走equals(),看返回值

                                   如果true:就不添加到集合。

                                   如果false:就添加到集合。

                       不同:就添加到集合。

              TreeSet

                底层数据结构是2叉树,线程不安全,效力高。

                保证元素唯1性的方法时根据返回值是不是是0。

                保证排序的两种方式:

                        自然排序(元素具有比较性):实现Comparable接口

                        比较器排序(集合具有比较性):实现Comparator接口


              未完待续,下篇为迭代器+Map集合


------分隔线----------------------------
------分隔线----------------------------

最新技术推荐