前言:
学到Arrays了,整理下心得。打好基础,daydayup!
Arrays
用来操作数组的一个工具类
Arrays的常见方法
方法名 | 说明 |
public static String toString(类型[] arr) | 返回数组的内容 |
public static int[ ] copyOfRange(类型[ ] arr,启示索引,结束索引) | 拷贝数组(范围内)(注:包前不包后) |
public static copyOf(类型[ ] arr,int newLength) | 拷贝数组 |
public static setAll(double [ ] array,intToDoubleFunction generator) | 把数组中的源数据改为新数据 |
public static void sart(类型[ ] arr) | 对数组进行排序(默认从小到大) |
例:
需要注意的有两点:
1,在使用public static setAll(double [ ] array,intToDoubleFunction generator) 这个方法时,需要创建一个新的对象,并在其中改写数组方法。
2,在使用public static void sart(类型[ ] arr)方法时,如果是数字变量,那么可以直接进行比较;如果不是数字变量,而是对象之类的变量,那么需要设计比较规则。
比较规则的设计:
规则设计有两个方法:1,在实体类中进行创建;2,在方法里直接添加对象进行创建
方法1:创建一个实体类Student1,需要用age变量进行比较,那么则需要在实体类中继承Comparable接口,同时重新定义compareTo方法。最后直接调用sort方法即可。(compareTo的作用为:比较左右两个数据,比较结果为正数则判定为大,比较结果为负数,则判定结果为小)
方法2:创建一个实体类Student1,在使用sort方法时,在方法里创建Comparator对象,同时重新定义compare方法。(compare的作用为:比较两个数据,比较结果为正数则判定为大,比较结果为负数,则判定结果为小)
总结:
比较数组时要格外小心,代码默认指向的是数组的地址变量,如果需要指向数据,那么需要修改toString方法。整理结束,撒花!!!!