黑马程序员--Java笔记11--静态类(Collections、Arrays、System、Runtime、Date、Calendar、Math)

------- 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次方

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值