java工具类
来源:互联网 发布:联通网络解锁助手1.0.9 编辑:程序博客网 时间:2024/06/05 19:37
Collections工具类
- Collections类是集合的工具类,可以对集合中的数据进行排序。
- Collections.sort(List list);实现元素排序(基本类型)
- Collections.reverse(List list);反转集合中元素的顺序。
比较器
集合中存储的是引用类型的数据,需要比较大小,则需要比较器
1.Comparable接口
- 集合中存储的类型实现java.lang.Comparable接口。(implements Comparable)依然可以使用Collections工具类进行排序。
- 被排序的是引用类型,自动调用该接口中的比较方法public int compareTo(Object o);实现排序。基本类型不调用。
- compareTo()是比较器的方法,返回值有三种:大于0(调用方法的对象比方法参数对象大)、等于0(调用方法的对象与方法参数对象相等)、小于0(调用方法的对象比方法参数小)
- Comparable实现的是默认比较器
2.Comparator接口
- 集合中存储的类型实现java.lang.Comparator接口。(implements Comparator)依然可以使用Collections工具类进行排序。实现该接口后,默认的Comparable比较器就不起作用
- 被排序的是引用类型,自动调用该接口中的比较方法public int compare(Object o1,Object o2);实现排序。基本类型不调用。
- compare()是比较器的方法,返回值有三种:大于0(o1 > o2)、等于0(o1 = o2)、小于0(o1 < o2)
- 用Collections.sort(集合对象,比较器对象);
总结
1、Arrays与Array区别
- 数组Array
java中最基本的一个存储结构,提供了动态创建和访问java数组的方法。其中元素的类型必须相同,效率高,但是容量固定且无法动态改变,无法判断其中实际存多少个元素,length只是告诉我们Array的容量。 - 静态类Arrays
此静态类专门用来操作Array,提供搜索、排序、复制等静态方法
equals():比较两个array是否相等,array拥有相同元素个数,且所有对应元素两两相等。
sort():用来对array进行排序
Array.asList(array):将数组array转化为List.
2、Collections与Collection区别
- Collection是一个集合接口,它提供了对集合对象进行基本操作的通用接口方法
- Collections是一个包装类,它包含有各种各样有关集合操作的静态多态方法,此类不能实例化,即不能new.是一个工具类。服务于java的Collection框架
3、Comparable与Comparator区别
- Comparable可以认为是一个内比较器,依赖compareTo方法的实现,compareTo方法也被称为自然比较方法。如果开发者add进入一个Collection的对象想要Collections的sort方法帮你自动进行排序的话,那么这个对象必须实现Comparable接口。compareTo方法的返回值是int。
- Comparator可以认为是一个外比较器,一个对象实现了Comparable接口,但是开发者认为compareTo方法中的比较不是自己想要的那种比较方式。此时实现Comparator接口。Comparator接口中有一个compare()方法,方法参数有两个o1,o2,分别表示待比较的两个对象,返回值为:int。
阅读全文
0 0
- java文件工具类
- java日期工具类
- java 绝对路径工具类
- java工具类
- Java 数据处理工具类
- java日期工具类
- java工具类Assert
- 一些Java工具类
- anroid&java工具类
- java StringUtil 工具类
- java身份证号工具类
- java 日期工具类
- Java开发工具类
- java 加密工具类
- java集合工具类
- java时间工具类
- java 时间工具类
- Java加密工具类
- nand flash 的读写 操作
- MATLAB使用常见问题备忘录
- Android开发中的各种尺度单位
- 【common subsequence】动态规划+回溯求LCS
- ArcGis Engine删除影像文件
- java工具类
- 深入解析mapreduce中shuffle的工作原理
- 各种元素的高度
- 程序员的TokyoHot正确姿势
- 浅析Java中的final关键字
- 【POJ】 1014 Dividing(多重背包,优化)
- Google/LintCode:M-Insert Delete GetRandom O(1)
- PrepareStatement sql语句in中多个参数的实现
- 如何制作离线地图?这里介绍一个轻松制作离线地图的利器!