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

原创 2015年11月19日 13:33:16
------- 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\nLinux只有一个\n

Runtime:

每个Java应用程序都有一个Runtime类实例,使应用程序能够与其运行的环境相连接,应用程序不能创建自己的Runtime类实例。

此类中没有构造方法摘要,说明不可以创建对象,有非静态方法,说明有提供静态的返回该类对象的方法,而且只有一个。此类使用了单例设计模式

Date:

日期对象和毫秒值之间的转换

毫秒值-->日期对象:

1. 通过Date对象的构造方法 new Date(timeMillis);

2. 还可以通过setTime设置。

因为可以通过Date对象的方法对该日期中的各个字段(年月日等)进行操作。

日期对象-->毫秒值:

1. getTime方法。

因为可以通过具体的数值进行运算。

对日期对象进行格式化

将日期对象-->日期格式的字符串。

使用的是DateFormat类中的format方法。

将日期格式的字符串-->日期对象。

使用的是DateFormat类中的prase方法。

Calendar:

Calendar 类是一个抽象类,它为特定瞬间与一组诸如YEARMONTHDAY_OF_MONTHHOUR

等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法

Math:

常用方法:

ceil();返回大于参数的最小整数

floor();返回小于参数的最大整数

round();返回四舍五入的整数

pow(a,b);ab次方

版权声明:本文为博主原创文章,未经博主允许不得转载。

黑马程序员--------java Collections、Arrays、高级for、可变参数、静态导入、System、Runtime、Math、Date、Calendar

-----------android培训、java培训、java学习型技术博客、期待与您交流!------------ 集合框架的工具类 Collections:给集合提供更多的功能,都是...

黑马程序员——Java基础——集合工具类Collecions、Arrays、其他对象System类、Runtime类、Date类、Calendar类、Math类等操作

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -----...

黑马程序员_集合3(HashMap,HashTable,TreeMap,Arrays,Collections,高级for,可变参数,静态导入,Date,Calendar,Math,System等)

--------- android培训、java培训、期待与您交流!--------- 一.Map概述 1.Map集合:该集合存储键值对,一对一对往里存,而且要保证键的唯一性。 ...

黑马程序员——java基本数据类型包装类,泛型,Collections类,arrays工具类,System类,Runtime类,时间类,Math类

------- android培训、java培训、期待与您交流! ---------- 前言:通过观看毕向东老师的java基础视频,查漏补缺,将一些自己掌握的还不牢固的知识写出来,希望和大家交流分享。...
  • hgdswj
  • hgdswj
  • 2015年06月28日 13:12
  • 706

黑马程序员---Java基础(System,Runtime,Date,Calendar,Math类)

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 以下是java基础当中的有关类: /* System:类中的方法和属性都是静态的。 out:标...

AdaultBird--我的黑马程序员之路!Chapter5---java API中的System类,Properties类,Runtime类,Date类,Calendar类,Math类,IO概述及

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------   2015年8月31日,今天学习的内容有:java API中的System类,Propert...

黑马程序员_Java第18天知识总结_System类_Runtime类_Date_Calendar_Math_Random_InputStream_OutputStream_IO异常的处理

------- android培训、java培训、期待与您交流! ---------- 凡是能和设备上的数据发生数据关系的,能去处理数据的,都会发生IO异常,无论读还是写。还有创建。 Sy...
  • v191211
  • v191211
  • 2013年05月20日 05:19
  • 343

java 静态导入、System类、Date类、Runtime类、Calendar类、Collections类中的shuffle方法、Math类

/* JDK1.5版本新特性(续):静态导入 注意:当类名重名时,需要指定具体的包名; 当方法名重名时,需要指定具体的类名。 */ import java.util.*; import sta...

黑马程序员_基础_System、Runtime、Date、Calendar和Math-Random等常用对象的学习笔记

1、System
  • tnoblew
  • tnoblew
  • 2014年07月10日 21:25
  • 603

黑马程序员——JAVA基础之System,Runtime,Date,Calendar,Math

------- android培训、java培训、期待与您交流! ----------   System:  类中的方法和属性都是静态的。 out:  标准输出,默认是控制台。 in:标准输入,默...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员--Java笔记11--静态类(Collections、Arrays、System、Runtime、Date、Calendar、Math)
举报原因:
原因补充:

(最多只允许输入30个字)