首页 > 其他 > 详细

集合框架工具类以及新特性

时间:2019-05-16 20:01:00      阅读:128      评论:0      收藏:0      [点我收藏+]

一、Collections:集合框架的工具类,里面的方法都是静态的。

  

排序:方法可以List集合进行指定自然顺序的排序,所以List集合的对象要具备排序的功能,即实现Comparable接口。演示如下,

  技术分享图片技术分享图片

  可以自定义该方法,如下所示

  技术分享图片技术分享图片

 

    技术分享图片

    List里面的泛型不用?的原因:可以把?当成Object,只能调用Object类的方法。

    根据比较器排序,这里讲解一个根据字符串长度排序。Collections类里面有这个方法

    技术分享图片

  技术分享图片技术分享图片

 

    自定义该方法如下:

  技术分享图片

 

二分查找:

  技术分享图片

  技术分享图片

  只能对List进行二分查找,演示如下:

  技术分享图片技术分享图片

  技术分享图片技术分享图片

   使用二分搜索法搜索指定列表,以获得指定对象。在进行此调用之前,必须根据列表元素的自然顺序或者比较器对列表进行升序排序(通过 sort(List) 方法)。

    如果没有对列表进行排序,则结果是不确定的,排序方式自己定义。

  如果查找到了目标元素,则返回对应索引,没查到,则返回的值为应该在的索引值前加—,再减1。

  

最值:获取最大最小值,可以对List和Set集合使用。

  技术分享图片

  技术分享图片技术分享图片

  技术分享图片技术分享图片

  前面一种是根据自然排序,后面一种是根据字符串的长度排序。

 

逆转:

  技术分享图片

  技术分享图片技术分享图片

  技术分享图片技术分享图片

  reverseOrder方法可以将实现了自然排序的集合进行逆转,该方法原理如下,把位置换了一下,就实现了逆序。

  技术分享图片

  如果自带比较器,也可以把实现了比较器的集合进行逆转。如下所示,根据长度逆转,

  技术分享图片

  技术分享图片

  如果对Iist集合进行排序,可以先逆转,再排序。reverse方法。

 

替换:

  技术分享图片

  技术分享图片技术分享图片

  其原理就是list.set(list.indexOf("zhaoliu"),"cendz")。

 

其他方法:

  技术分享图片

  技术分享图片技术分享图片

 

  技术分享图片

  技术分享图片技术分享图片

  技术分享图片

  运行几次的结果都不一样,可以用来打乱顺序。比如洗扑克牌。

 

 

  技术分享图片

  技术分享图片

  可以和枚举互换,因为老代码里面有枚举。

 

Vector集合是同步的,其他集合是非同步的,如果遇到了多线程怎么办?自己加锁。如何给非同步的集合加锁?

  

  

 

集合框架工具类以及新特性

原文:https://www.cnblogs.com/cendz/p/10877598.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!