java 集合操作工具包_跟我学Java编程—操作集合的工具Collections类

前面我们讲过Collections接口,它是集合类的顶级接口,提供对集合对象进行基本操作的通用接口方法。本节介绍的Collections类是一个工具类,用来对集合对象进行操作,提供对List、Map、Set等集合元素的排序、查询和修改等操作方法。

Collections类提供了一些静态方法,实现了基于List容器的一些常用算法,分别说明如下:

1、对List集合的排序操作

Collections类提供了对集合元素进行排序、反转方法。

● void sort(List)

该方法用于对List内的元素排序。

● void shuffle(List)

该方法用于对List内的元素进行随机排序。

● void reverse(List)

该方法用于对List内的元素进行逆序排序。

下面通过一个实例程序,通过Collections对List按照升序和降序排序。

(1)首先创建一个测试对象,新建一个UserInfoBean类,并实现Comparable接口。代码如下:

069d4caf40bca099cbdaf6f3f4ac431e.png

(2)创建主运行类,实例化List对象,并添加三个UserInfoBean对象,代码如下:

bad9af53de695a8d4635a7dcfd2f1ffa.png

程序输出结果如下图所示:

ea076b295a65585daf1fcf6bca713c31.pngCollectionsDemo输出结果

从上图输出结果可以看出,userInfos按照添加的顺序输出,我们希望userInfos能够按照UserInfoBean对象的id属性进行排序。

(3)在主运行类中,添加排序代码,按照升序对userInfos排序,代码如下:

a10af7f9bd2bb7f5875fcc19dfabd303.png

在主运行类中,添加了排序代码,调用Collections类的sort方法对userInfos按照升序排序,因为Collections类提供的都是静态方法,因此可以不用实例化,而通过类名直接调用sort方法。程序输出结果如下图所示:

bfe4b29ddce5c90083758bfc91dde4d0.pnguserInfos升序输出结果

从上图输出结果可以看出,userInfos按照UserInfoBean对象的id属性值升序输出。

(4)在主运行类中,添加排序代码,按照降序对userInfos排序,如果需要降序输出,则可以调用Collections类的sort方法后,再调用Collections类的reverse方法反转userInfos的元素。代码如下:

c26fbec0c62394ea39d7e5260388f0f1.png

在主运行类中,在Collections类的sort方法后面,又调用了Collections类的reverse方法,反转userInfos,实现降序排序。程序输出结果如下图所示:

4b267f11df33104f8b7e04e3d759cad3.pnguserInfos降序输出结果

2、对List集合元素的查找操作

Collections类提供了对集合元素进行二分查找、求最大值和最小值的方法。

● void max (List)

该方法用于找出List集合的最大元素。

● void min(List)

该方法用于找出List集合的最小元素。

● void binarySearch(List,Object)

该方法应用二分查找法返回元素在List中的位置。

结合上面的示例程序,下面给出上述方法的用法。代码如下:

73f8d57ba2fc624f8d47603a260eb976.png

程序分别调用Collections的max、min方法找出userInfos集合中的最大和最小元素,调用binarySearch方法查找tempUserInfo对象是否在userInfos集合中有相同的元素。注意,在调用binarySearch方法之前,一定要先对userInfos排序,否则查找结果不正确。程序输出结果如下图所示:

372ac07f28e85376f988c0512a7b95dc.png查找实例输出结果

3、List集合元素的复制操作

Collections类提供了对集合的复制操作,可以将原集合中的内容复制到新的集合中。

● void copy (List dest, List src)

该方法将src的内容复制到dest中。

复制方法应用非常简单,其用法可以参考前面的调用方法代码,在这里就不给出示例代码了。

■ 知识点拨

Collection类是应用工具类,在集合操作中应用非常广泛。当程序需要对集合进行排序、复制、查找等操作时,可以使用Collection类完成对集合的操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值