1. Collections

  • 工具类,提供了对集合的常用操作
  • 对集合进行查找
  • 取出集合中的最大值,最小值
  • 对List集合进行排序
  1. 集合框架的工具类。
    Collections:集合框架的工具类。里面定义的都是静态方法。

  2. Collections和Collection有什么区别?

Collection是集合框架中的一个顶层接口,它里面定义了单列集合的共性方法。它有两个常用的子接口

  • List:对元素都有定义索引。有序的。可以重复元素。
  • Set:不可以重复元素。无序。

    Collections是集合框架中的一个工具类。该类中的方法都是静态的
  • 提供的方法中有可以对list集合进行排序,二分查找等方法。
  • 通常常用的集合都是线程不安全的。因为要提高效率。
  • 如果多线程操作这些集合时,可以通过该工具类中的同步方法,将线程不安全的集合,转换成安全的。
  1. 指定类型的数组到底要定义多长呢?
  • 当指定类型的数组长度小于了集合的size,那么该方法内部会创建一个新的数组。长度为集合的size。
  • 当指定类型的数组长度大于了集合的size,就不会新创建了数组。而是使用传递进来的数组。
  • 所以创建一个刚刚好的数组最优。
  1. 为什么要将集合变数组?
  • 为了限定对元素的操作。不需要进行增删了

2. Arrays

  • 工具类,提供了对数组的常用操作
  • 将数组转成List集合
  • 对数组进行排序
  • 对数组进行二分查找
  • 将数组转为字符串显示形式

Arrays:用于操作数组的工具类。里面都是静态方法。asList:将数组变成list集合

2.1 把数组变成list集合有什么好处?

可以使用集合的思想和方法来操作数组中的元素。
注意:将数组变成集合,不可以使用集合的增删方法。因为数组的长度是固定。只能使用查询的方法

  • contains。
  • get
  • indexOf()
  • subList();

==注意:==
如果你增删。那么会反生UnsupportedOperationException,
如果数组中的元素都是对象。那么变成集合时,数组中的元素就直接转成集合中的元素。
如果数组中的元素都是基本数据类型,那么会将该数组作为集合中的元素存在。

3. System类

  • 静态属性in为标准输入流,属于InputStream类型,read方法返回一个字节
  • 静态属性out为标准打印流,属于PrintStream类型,print方法打印字符
  • 可以用set方法修改属性in和out
  • System.exit()方法退出Java虚拟机
  • System.gc()垃圾回收
  • System.getProperties()方法获得系统属性
    因为Properties是Hashtable的子类,也就是Map集合的一个子类对象。那么可以通过map的方法取出该集合中的元素。该集合中存储都是字符串。没有泛型定义。

4. Runtime类

  • 表示系统运行时状态
  • exec方法执行命令

4.1 Runtime对象

该类并没有提供构造函数。说明不可以new对象。那么会直接想到该类中的方法都是静态的。发现该类中还有非静态方法。说明该类肯定会提供了方法获取本类对象。而且该方法是静态的,并返回值类型是本类类型。由这个特点可以看出该类使用了单例设计模式完成。该方式是static Runtime getRuntime();

5. Date时间类

  • 使用new Date()创建时间对象代表当前系统时间
  • 需要使用SimpleDateFormat类来进行格式化,才能显示想符合习惯的格式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Demo02 {
public static void main(String[] args) throws ParseException {
//把时间对象按照 "格式字符串指定的格式" 转成相应的字符串
DateFormat df=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); //按指定格式进行转换
String format = df.format(new Date()); //将时间转换为字符串
System.out.println(format);

//把字符串对象按照 "格式字符串指定的格式" 转成相应的时间
DateFormat sf1 = new SimpleDateFormat("yyyy-MM-dd hh-mm-ss");

Date parse = sf1.parse("2019-7-6 12-13-12");

System.out.println(parse);
}
}

Calendar类

  • 使用该类对时间进行操作比较方便
  • 通过常量来表示时间的各种值,如一年中的某一天,一个月的某一天等
  • 将对应的常量作为形参来调用相应的get、add、set方法来操作对象

Math—Random类

1
2
3
4
5
6
static double ceil(double d) 返回大于d的最小整数 注意 d = 12.3时,结果:13 
d = -12.3 结果:-12
static double floor(double a) 返回小于a的最大整数,
static long round(double a) 返回a的四舍五入的整数

Math.random()与Random.NextInt(int n)的使用;