------- android培训、java培训、期待与您交流! ----------
静态类
Collections:静态
常用方法:
排序void sort(List list,Comparator c);
取最大值<T> T max(Collection coll,Comparator c);
二分查找int binarySearch(List list,T key,Comparator c);
反转 void reverse(List list);
Comparator reverseOrder(Comparator c);逆转比较器排序
替换 boolean replaceAll(List<T> list,T oldv,T newv);
随机置换 void shuffle(List<T> list);
练习:给非同步的集合加锁;
Arrays:
数组转集合:List asList(数组);
好处:可以使用集合的方法操作数组,数组的长度是固定的,所以对于集合的增删是不可用的,否则会发生异常。
如果数组中的元素是对象,那么转成集合时,直接将数组中的元素作为集合中的元素进行集合存储;
如果数组中的元素是基本类型数值,那么会将该数组作为集合中的元素进行存储。
集合转数组:使用Collection接口中的toArray方法
好处:可以对集合中的元素操作的方法进行限定,不允许对其增删;
toArray方法需要传入一个指定类型的数组,数组长度的定义:
如果长度小于集合的size,那么该方法会创建一个同类型并和集合相同size的数组;
如果长度大于集合的size,那么该方法就会使用指定的数组,存储集合中的元素,其他位置默认为null。建议数组长度指定为集合的size。
IDK1.5以后新特性:
增强for循环
格式:for(数据类型 变量名:被遍历的集合或数组){}
对集合进行遍历,只能获取元素,不能对元素进行过多操作
迭代器除了遍历,还可以进行remove集合中元素的动作,如果是用ListIterator,还可以在遍历过程中对集合进行增删该查的动作
高级for有一个局限性,必须要有被遍历的目标
建议在遍历数组时用传统for,因为可以定义角标
可变参数:就是数组参数的简写形式 show(int...arr)
不用每次都手动建立数组对象,只要将要操作的元素作为参数传递即可,隐式将这些参数封装成了数组
注意:一定要定义在参数列表的最后面
静态导入:import static java.util.Arrays.*;
导入的是Arrays这个类中的所有静态成员
System类:
常见方法:
long currentTimeMillis();获取当前时间毫秒值
Properties getProperties();确定当前系统属性
Properties集合中存储的都是String类型的键和值
System.setProperty();设置属性信息,为全局可用
P.S.Windows系统中换行为\r\n,Linux只有一个\n
Runtime类:
每个Java应用程序都有一个Runtime类实例,使应用程序能够与其运行的环境相连接,应用程序不能创建自己的Runtime类实例。
此类中没有构造方法摘要,说明不可以创建对象,有非静态方法,说明有提供静态的返回该类对象的方法,而且只有一个。此类使用了单例设计模式
Date类:
日期对象和毫秒值之间的转换
毫秒值-->日期对象:
1. 通过Date对象的构造方法 new Date(timeMillis);
2. 还可以通过setTime设置。
因为可以通过Date对象的方法对该日期中的各个字段(年月日等)进行操作。
日期对象-->毫秒值:
1. getTime方法。
因为可以通过具体的数值进行运算。
对日期对象进行格式化:
将日期对象-->日期格式的字符串。
使用的是DateFormat类中的format方法。
将日期格式的字符串-->日期对象。
使用的是DateFormat类中的prase方法。
Calendar类:
Calendar 类是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH、HOUR
等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法
Math类:
常用方法:
ceil();返回大于参数的最小整数
floor();返回小于参数的最大整数
round();返回四舍五入的整数
pow(a,b);a的b次方