Java 集合框架:工具类

Collections类

 

常用方法:

 

1.max(Collection <? extends T> coll):根据元素的自然顺序,返回给定集合元素中的最大元素

 

2.min(Cssollection <? extends T> coll):根据元素的自然顺序,返回给定集合元素中的最小元素

 

3.sort(List<T> list) :根据元素的自然顺序对指定列表按升序进行排序。列表中的所有元素都必须实现 Comparable 接口。

 

4.sort(List<T> list, Comparator<? super T> c)  : 根据指定比较器产生的顺序对指定列表进行排序

 

5.reverse(List<?> list):反转指定列表中元素的顺序

 

6.swap(List<?> list, int i, int j):在指定列表的指定位置处交换元素,如果指定位置相同,则调用此方法不会更改列表。

 

7.binarySearch(List<? extends Comparable<? super T>> list, T key) :返list集合元素按照自然顺序升序排序后,使用二分搜索法搜索list集合,返回指定对象的索引,如果没找到返回-1。

 

8.max(Collection <? extends T> coll):根据元素的自然顺序,返回给定集合元素中的最大元素

 

9.min(Collection <? extends T> coll):根据元素的自然顺序,返回给定集合元素中的最小元素

 

Collections类方法演示

1.

 

注意:

在使用maxmin方法时要求存入集合中的对象对应的类必须实现Comparable接口,否则程序在编译阶段就会报错。(详见备注示例2

 

 

2.sort(List<T> list) :根据元素的自然顺序对指定列表按升序进行排序。列表中的所有元素都必须实现 Comparable 接口。

 

 

注意:

在使用sort(List<T> list) 方法时要求存入集合中的对象对应的类必须实现Comparable接口,否则程序在编译阶段就会报错。(详见备注示例2

 

3.sort(List<T> list, Comparator<? super T> c)  : 根据指定比较器产生的顺序对指定列表进行排序

 

注:实现集合中数据升序排列

 

注意:在使用sort(List<T> list, Comparator<? super T> c)  方法时存入集合中的对象对应的类无须实现Comparable接口。(详见备注示例2)

 

 

 

4.reverse(List<?> list):反转指定列表中元素的顺序

 

 

注意:

在使用reverse(List<?> list)方法时存入集合中的对象对应的类无须实现Comparable接口。(详见备注示例2)

 

5.reverse(List<?> list):反转指定列表中元素的顺序

 

 

注意:

在使用reverse(List<?> list)方法时存入集合中的对象对应的类无须实现Comparable接口。(详见备注示例2)

 

6.swap(List<?> list, int si, int j):在指定列表的指定位置处交换元素,如果指定位置相同,则调用此方法不会更改列表。

 

 

注意:

在使用swap(List<?> list, int i, int j)方法时存入集合中的对象对应的类无须实现Comparable接口。(详见备注示例2)

 

7.binarySearch(List<? extends Comparable<? super T>> list, T key) :返list集合元素按照自然顺序升序排序后,使用二分搜索法搜索list集合,返回指定对象的索引,如果没找到返回-1。

 

注意:

1.使用该方法前必须保证集合中的数据是升序排列的,否则结果不正确(详见备注示例2

2.在使用该方法时存入集合中的对象对应的类必须实现Comparable接口,否则程序在编译阶段就会报错。 (详见备注示例3

 

Comparable接口与Comparator接口

 

Comparable接口:

 

1.String和各种包装类已经实现了Comparable接口

 

2.TreeSet集合内默认是按照自然顺序排序的

 

3.集合内元素之间的比较,由该类的compareTo(Object o)方法来完成,因为这种比较是在类内部实现,所以将Comparable称为内部比较器

 

Comparator:

 

1.外部比较器

 

2.配合Collections工具类的sort(List list, Comparator c)方法使用。

 

3.当集合中的对象不支持自比较或者自比较的功能不能满足需求时使用

 

4.和内部比较器相比,其可重用性好

 

Comparator接口:

 

注:没有实现Comparable

 

 

注:实现Comparatorcompare方法

 

 

Arrays类

 

常用方法:

 

1.asList(T... a):将数组转换为List集合

 

2.static void sort(int[] a):对指定的 int 型数组按数字升序进行排序。

 

3.static <T> void sort(T[] a, Comparator<? super T> c):根据指定比较器产生的顺序对指定对象数组进行排序。

 

4.static boolean equals(Object[] a1, Object[] a2):判断构成两个数组的元素是否完全相同,相同返回true,否则返回false

 

5.static int binarySearch(Object[] a, Object key) :二分搜索法来搜索指定数组,以获得指定对象。

 

6.static int binarySearch(Object[] a, int fromIndex, int toIndex, Object key) :二分搜索法来搜索指定数组的范围,以获得指定对象。

 

asList方法

 

asList(T... a):将数组转换为List集合

 

 

sort方法

 

static void sort(int[] a):对指定的 int 型数组按数字升序进行排序。

 

static <T> void sort(T[] a, Comparator<? super T> c):根据指定比较器产生的顺序对指定对象数组进行排序。

 

升序:

 

降序:

 

注:和升序的不同点:只是颠倒了一下顺序。

 

equals方法

 

static boolean equals(Object[] a1, Object[] a2):判断构成两个数组的元素是否完全相同,相同返回true,否则返回false

 

 

代码执行完后,array1array2两个数组变为有序的数组。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
原文:https://github.com/yangchenjava/com.yangc.utils cache EhCacheUtils - 基于ehcache的工具类 LruCacheUtils - 基于LinkedHashMap实现LRU缓存的工具类 MemcachedUtils - 基于memcached的工具类 RedisUtils - 基于redis的工具类,与redis的集群配置无缝结合 db JdbcUtils - 操作jdbc的工具类 MongodbUtils - 操作mongodb的工具类 email EmailUtils - 邮件工具类,支持发送带附件的邮件 encryption AesUtils - 实现AES加密解密 Base64Utils - 实现Base64加密解密 Md5Utils - 获取字符串或文件的md5 excel ReadExcel2003 - 以model方式读2003版Excel(大数据) ReadExcel2007 - 以sax方式读2007版Excel(大数据) WriteExcel - 写Excel image CaptchaUtils - 生成验证码 ImageUtils - 图片压缩、截图 QRCodeUtils - 生成二维码、解析二维码 io SerializeUtils - 序列化、反序列化对象 ZipUtils - 压缩、解压文件 json JsonUtils - json格式转换 lang CharsetDetectorUtils - 获取文本文件编码格式 ChineseCalendar - 农历日历 ConvertUtils - 高低字节转换 DateUtils - 日期工具类 HtmlFilterUtils - 过滤html标签 JsoupUtils - 基于jsoup过滤html标签 MoneyUtils - 获取大写金额 NumberUtils - 数字工具类 PinyinUtils - 汉字转拼音 media MediaUtils - 基于ffmpeg,qtfaststart,yamdi的多媒体工具类 net AttachmentUtils - HTTP文件下载防止中文乱码 FastDFSUtils - 操作FastDFS的工具类 FtpUtils - 操作FTP的工具类(基于sun自家的包,jdk7以后不建议使用) FtpUtilsApache - 基于apache操作FTP的工具类 HttpUtils - 发送HTTP请求 IpUtils - 获取IP SFtpUtils - 操作SFTP的工具类 prop PropertiesUtils - 操作properties配置文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值