Java集合介绍1

        Java的集合类是一种特别有用的工具类,Java的集合大致七可分为:Set、List和Map三种体系,其中set代表无序、不可重复的集合(如下图:Set集合类似一个罐子,当把一个对象加到set集合时,Set集合无法记住这个元素的顺序,所以它里面的元素是不可重复的);List代表有序、重复的集合(如下图:List集合很像一个数组,它可以记住每次添加元素的顺序,只是List的长度可变);而Map则代表具有映射关系的集合(如下图:它也像一个罐子,只是它里面的每个元素都由两个值组成)。从JDKI.5以后,Java又增加Queue体系集合,代表一种队列集合实现。


        Java集合就像一种容器,我们可以把多个对象(实际上是对象的引用,但习惯上都称对象)“丢进”该容器中。在JDKI.5之前,Java集合就会丢失容器中所有对象的数据类型,把所有对象都当成object类型处理,从JDKI.5增加了泛型以后,Java集合可以记住容器中对象的数据类型,从而可以编写更简洁、健壮的代码。

      Java的集合类主要由两个接口派生而出:Collection和Map,Coflection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类。图7.1是Collection接口、子接口及其实现类的继承树,图7.2是MaP体系的继承树。



        看到这么多接口对象是不是有点头晕,我们都要精通吗?当然不用了,有些接口是历史遗留下来的,对于现在的编程其实已经不适用了,还有一些只适合在特殊要求的环境中使用,如果遇到了我们查一下文档就可以轻松搞定。从图中可以看到,三种集合接口Set、List和Map的常用实现类分别是:HashSet、ArrayList和Hashap(用了灰色区域覆盖)。接下来重点介绍一些我们编程经常用到的集合对象。

1、Collection和Iterator接口

       Collection接口是List、Set和Queue接口的父接口,该接口里定义的方法既可用于操作Set集合,也可用于操作List和Queue集合。Collection接口里定义了如下操作集合元素的方法(这些方法全部来自javaAPI文档,详细信息请参考源文档):

       》blean add(Object o):该方法用于向集合里添加一个元素。如果集合对象被添加操作改变了则返回true。

       》boolean addAll(Collection c):该方法把集合c里的所有元素添加到指定集合里。如果集合对象被添加操作改变了则返回true。

       》void dear():清除集合里的所有元素,将集合长度变为0。

       》boolean contains(Object o):返回集合里是否包含指定元素.

       》boolean containsAll(Collection c):返回集合里是否包含集合c里的所有元素。

       》boolean isEmpty():返回集合是否为空。当集合长度为0时返回true,否则返回felse。

       》Iterator iterator():返回一个Iterator对象,用于遍历集合里的元素。

       》boolean remove(Objeot o):删除集合中指定元素o,当集合中包含了一个或多个元素o时,这些元素将被删除,该方法将返回true。

       》boolean removeAll(Collection c):从集合中删除集合c里包含的所有元素(相当于用调用该方法的集合减集合C),如果删除了一个或一个以上的元素.该方法返回true。

       》boolean retainAll(CoIIection c):从集合中删除集合c里不包含的元素(相当于取得把调用该方法的集合变成该集合和集合c的交集),如果该操作改变了调用该方法的集合,该方法返回true。

       》int Size():该方法返回集合里元素的个数。

       》Object[] toArray():该方法把集合转换成一个数组,所有集合元素变成对应的数组元素。

 

        lterator接口隐藏了各种Collection实现类的底层细节,向应用程序提供了遍历Collection集合元素的统一编程接口,Iterator接口里定义了如下三个方法:

       》boolean hasNext():如果被迭代的集合元素还没有被遍历,则返回true。

       》object next():返回集合里下一个元素。

       》void remove():删除集合里上一次next方法返回的元素。

       注:当使用Iterator来迭代访问Collection集合元素时,Collection集合里的元素不能被改变,只有通

Iterator的remove方法来删除一次next方法返回的集合元素才可以。否则将会引发

java·util.ConcurrentModificationException异常。也可以使用foreach来访问集合中的元素,这里不多做介绍。

2、Set接口


接下一篇 →→ Java集合介绍2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值