文件操作

1. 操作函数

image.png


日期类

1. Date()类使用方法(构造器)

  1. - 不带参数:输出目前时间<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/710889/1580383036088-de46239a-5dc0-4004-9039-d1d61578852a.png#align=left&display=inline&height=53&name=image.png&originHeight=53&originWidth=261&size=2605&status=done&style=none&width=261)<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/710889/1580383082620-34fbf74d-9ac4-40f2-b8ea-6c76b77e65c7.png#align=left&display=inline&height=31&name=image.png&originHeight=31&originWidth=275&size=1482&status=done&style=none&width=275)
  2. - 带参数:输出从标准时间开始经过这么多毫秒的日期<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/710889/1580383106504-d3ed42ce-dd53-4d52-8b0f-dbd7e45f2c84.png#align=left&display=inline&height=59&name=image.png&originHeight=59&originWidth=306&size=3272&status=done&style=none&width=306)<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/710889/1580383122877-4bcc5cc2-40e3-4b14-8969-43c17cfb239d.png#align=left&display=inline&height=29&name=image.png&originHeight=29&originWidth=285&size=1424&status=done&style=none&width=285)

2. Date()类方法的使用

  1. - **getTime()****方法****:得到标准日期到这个日期的毫秒数(类型的Long)<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/710889/1580383672988-57a30b72-5514-461f-896e-26d89c1fdd02.png#align=left&display=inline&height=80&name=image.png&originHeight=80&originWidth=331&size=4577&status=done&style=none&width=331)**
  2. - **SimpleDateForFormat()****类****的使用<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/710889/1580384965657-6d19f6e9-d526-42ac-9bff-1292c2425887.png#align=left&display=inline&height=186&name=image.png&originHeight=186&originWidth=754&size=19310&status=done&style=none&width=754)<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/710889/1580384986882-711ef453-465d-4fc9-8128-5fc06abfff6c.png#align=left&display=inline&height=57&name=image.png&originHeight=57&originWidth=305&size=3252&status=done&style=none&width=305)**
  3. - **parse()方法(参数是传入的时间模板样式,返回值是Date类型)<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/710889/1580385577417-3918eec4-b8cd-4dc3-a268-18947035e0a2.png#align=left&display=inline&height=34&name=image.png&originHeight=34&originWidth=535&size=3795&status=done&style=none&width=535)<br />正常情况下会报错,在结尾处需要抛出异常来处理<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/710889/1580385643749-a61f9d49-4b23-4994-9d45-ba8c90539c33.png#align=left&display=inline&height=35&name=image.png&originHeight=35&originWidth=609&size=3655&status=done&style=none&width=609)**

3. Calendar()类的使用方法

  1. - **Calendar()类直接获取的是所有日期的细则,很详细<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/710889/1580386102885-357d1a98-2085-45a6-9fc1-0dace641d22a.png#align=left&display=inline&height=55&name=image.png&originHeight=55&originWidth=427&size=3926&status=done&style=none&width=427)**
  2. - **Calendar()是一个类,不能直接创建对象,但是其中的GetInstance()静态方法可以获取对象数据**

4. Calendar()类方法的使用

  1. - **get()方法(直接获取得到对应的日期数据,****非常方便使用****)<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/710889/1580386854616-e8014a5a-9495-4155-9a12-00752a2f817a.png#align=left&display=inline&height=87&name=image.png&originHeight=87&originWidth=458&size=6102&status=done&style=none&width=458)<br />附上常使用的参数表(注意:西方的月份是从0月开始的)<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/710889/1580386938466-7a99c3df-a859-49e2-a950-df7b40462270.png#align=left&display=inline&height=182&name=image.png&originHeight=182&originWidth=378&size=104320&status=done&style=none&width=378)**
  2. - **set()方法(将日历中的日期变量设置成指定的数值)(参数同上)<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/710889/1580387901925-e81078d4-95be-4577-a923-9d7f6cec8afe.png#align=left&display=inline&height=106&name=image.png&originHeight=106&originWidth=427&size=8090&status=done&style=none&width=427)**
  3. - **set()的重载方法(非常简单的年月日设置)(会有提示)<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/710889/1580388006461-0e5b8361-05fa-4e12-a796-eb0f8e831a1a.png#align=left&display=inline&height=56&name=image.png&originHeight=56&originWidth=440&size=4955&status=done&style=none&width=440)**
  4. - **add()方法:将指定的日期变量增加或减少指定的值(用正负号指定)<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/710889/1580388199538-6f54f07f-88b4-4f8b-b0d0-fe23603ba56f.png#align=left&display=inline&height=62&name=image.png&originHeight=62&originWidth=425&size=4803&status=done&style=none&width=425)**
  5. - **getTime()方法:获取日历类对应的标准日期<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/710889/1580388543967-64a126b8-e047-4024-925e-07471119051f.png#align=left&display=inline&height=107&name=image.png&originHeight=107&originWidth=457&size=6808&status=done&style=none&width=457)<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/710889/1580388550787-5e53ae21-6520-4e51-bdbb-de308ae9cd59.png#align=left&display=inline&height=32&name=image.png&originHeight=32&originWidth=275&size=1464&status=done&style=none&width=275)**

System类

1. System.currentTimeMillis()静态类

  1. - ![image.png](https://cdn.nlark.com/yuque/0/2020/png/710889/1580558589122-cc6b8005-a26a-4ba9-9d19-be41ff8efba9.png#align=left&display=inline&height=237&name=image.png&originHeight=237&originWidth=354&size=14565&status=done&style=none&width=354)

2. System.arraycopy()静态类

  1. - ![image.png](https://cdn.nlark.com/yuque/0/2020/png/710889/1580558907386-e23b1bb1-a9b3-434d-9520-f7928878e6e6.png#align=left&display=inline&height=181&name=image.png&originHeight=181&originWidth=530&size=11445&status=done&style=none&width=530)
  2. - 参数依次是
  3. - ![image.png](https://cdn.nlark.com/yuque/0/2020/png/710889/1580558960560-e9be76d6-1ddd-4bee-a5ec-4ec33fb4a119.png#align=left&display=inline&height=123&name=image.png&originHeight=123&originWidth=411&size=92212&status=done&style=none&width=411)

数据结构简析

1. 堆和栈

  1. - **栈:先进后出**<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/710889/1580627716293-e0abd111-bb2a-4cef-b667-d6422de86e10.png#align=left&display=inline&height=614&name=image.png&originHeight=614&originWidth=656&size=187842&status=done&style=none&width=656)
  2. - **堆(队列):先进先出**<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/710889/1580627852728-bba5b894-a362-4992-90ed-28e88b1d218c.png#align=left&display=inline&height=461&name=image.png&originHeight=461&originWidth=863&size=125924&status=done&style=none&width=863)

2. 二叉树

  1. - 二叉树<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/710889/1580630398199-5d51202d-09c3-4173-82ed-68c4a05eaabb.png#align=left&display=inline&height=321&name=image.png&originHeight=321&originWidth=379&size=88947&status=done&style=none&width=379)
  2. - 排序树/查找树(二分法查找,速度非常快)<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/710889/1580630445156-3d52502d-f390-4acb-b6ea-90dd44d43e67.png#align=left&display=inline&height=346&name=image.png&originHeight=346&originWidth=524&size=153881&status=done&style=none&width=524)
  3. - 平衡树<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/710889/1580630478537-3a91bb63-dbc5-4e2b-96e0-2b765fd1bf64.png#align=left&display=inline&height=243&name=image.png&originHeight=243&originWidth=369&size=66091&status=done&style=none&width=369)
  4. - 不平衡树<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/710889/1580630500943-ab0c0cf3-33c0-44a2-a47b-3a7590036b53.png#align=left&display=inline&height=324&name=image.png&originHeight=324&originWidth=417&size=58915&status=done&style=none&width=417)
  5. - 红黑树<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/710889/1580630618060-5b21ecb4-9c6f-4227-88b4-42d39bddaa24.png#align=left&display=inline&height=342&name=image.png&originHeight=342&originWidth=777&size=245030&status=done&style=none&width=777)

可变参数

  1. - 基本概念
  2. - 底层其实是一个数组,使用时与数组类似
  3. - 使用方法(其实跟数组的使用方法相同)
  4. - ![image.png](https://cdn.nlark.com/yuque/0/2020/png/710889/1580710684180-cabd7ecd-71bf-4d5f-873e-da721f4512f9.png#align=left&display=inline&height=324&name=image.png&originHeight=324&originWidth=381&size=12796&status=done&style=none&width=381)
  5. - 注意事项:
  6. - 一个方法的参数列表,只能有一个可变参数
  7. - 如果方法的参数有多个,那么可变参数必须写在参数列表的末尾
  8. - 可变参数的终极写法(任意类型的任意变量)<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/710889/1580710928285-7fc18bd0-bbe7-4863-aa36-2bf7892ddccf.png#align=left&display=inline&height=33&name=image.png&originHeight=33&originWidth=377&size=2354&status=done&style=none&width=377)