1什么情况下使用集合
不知道要有多少个对象且长度不固定
通过一个信息如(代号)来查询这个人的所有信息
2.集合可以处理数组不能解决的两种方式
长度不固定,且不知道要有多少个对象时
存储更多庞大的数据
3.JAVA集合框架图
顶级父类
Collection 和Map
Collection子类接口
List 和 Set
List的实现类:ArrayList 和LinkedList
Set的实现类:HashSet TreeSet
Map的实现类:HashMap 和TreeMap
4.接口的特点
Collection 无序 不唯一
List 不唯一 有序
Set 唯一 无需求
Map 键值对
5.ArrayList 使用场景:长度不固定,且遍历和随机查询效率高,插入删除效率低
6.LinkedList使用场景:链表式结构,且插入删除效率高,遍历和随机查询效率低
7.Set集合使用场景:去重
8.Collection List Set Map接口遍历的方法
List
普通for循环
增强for循环
Iterotar迭代器
Set
增强for循环
Iterotar迭代器
Map:
遍历key 通过key————value
通过迭代器Iterator实现遍历
Iterator itor = keys.iterator();
通过增强型for循环
Set keys = x.keySet()
遍历key---value对
Set set = x.entrySet();//获得键值对
//遍历键值对的集合,把每个键值对(obj)---Map.Entry(键值对类型)拿出来
9.泛型的本质:参数化类型
作用:
使用场景:泛型方法,集合上使用,泛型接口,泛型类,统一返回值
10.Collections的常用静态方法5个:sort(),binarySearch(),max(),min(),reverse()
11.Collections的排序:Colllects类可以对集合进行排序,
查找和替换操作
实现一个类的对象之间的比较大小
该类要实现Comparable接口
重写compareTo()方法
12.枚举的定义:由一组固定的常量组成的类型
13..枚举的好处:类型安全,易于输出,代码清晰
14.包装类的注意点2点:
包装类的构造方法的参数是String类型,且字符串为null,编译时通过,运行期报空指针异常
Boolean包装类的构造方法参数时String类型,若字符串内容为true,则Boolean表示true,否则是false;
15基本数据类型和引用数据类型的区别3点
写法上,基本数据类型都是小写,引用数据类型都是大写
使用时,基本数据类点不出来东西,但引用数据类型可以点出属性和方法
基本数据类不能判空,引用数据类型可以判空
16.八大基本类型和8大包装类
byte short int long float double char boolean
Byte,Short,Integer,Float,Double,Character,Boolean
17. 包装类和基本数据类型的转换
装箱:基本数据类型转换为引用包装类
拆箱 包装类转换成基本数据类型
注意点:2点:
基本数据类型转成包装类(char只能放对应的类型的值而不能放String值,boolean放非TRue,true字符串都说显示false)
包装类转换基本数据类:包装类不是代替基本数据类型,只是在需要时进行转换(集合只能存储堡垒类型,不能存储基本类型)
18.Math类的方法7个
Math.abs();
Math.min();
Math.Max();
Math.sql();
Math.random();
Math.ceil();
Math.floor();
19.String类的使用方法12个
length()长度
concat()连接
.equals()比较字符串
.equlasIgnoreCase 忽略大小写
.equalstoLowerCase 转换为小写
.equalstoUpperCase 转换为大写
.subString(int index)获得子字符串
.subStriing(int beginindex,int endindex) 从begin开始捣endInde介绍,且不包含endIndex下标符
.trim 截取字符串前后空格返回新的字符串
.split 将字符串以“内包含的字符为分隔”,返回字符串数组
.indexOf(char)内放char或者String字符串
.lastIndexOf()
20.字符串的连接2种:concat()连接,"+"连接
21.StringBuffer和StringBuilder类的区别和场景
场景:字符串转换为对象
StringBuffer:单线程,安全,速度慢
StringBUilder:多线程,不安全,速度快
22.日期操作类Date类,Calendar类和SimpleDateFormat类的用法
Date date = new Date()获得当前日期
Calendar.day_of_week 指示一个星期中的某天
月历要+1
SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-DD");//规定日期输出格式
String time =sdf.format(date);\
LocalDateTime ldt = LocalDateTime.now()//获取计算机当前时间
23.Random类的方法
Random.nextInt(100);//[0,100)
Random.nextInt(long Seed);
24.File 类的作用:将文件内容保存到内存中
25File类的方法
isExit()文件是否存在
isFile()判断是否是文件
isDirectory()()判断是不是目录
getName()获取文件名
getPath()相对路径
getAbsolutePath():绝对路径
getDelete()删除文件
length()文件内容长度
mkdir()创建一个目录 只能创建一层
mkdir()创建多层文件夹
creatNewFile()创建文件
26:输入流和输出流的定义和文件File的定义
输入流:把文件内容输入到程序中
输出流:从程序中把文件输出到磁盘
相关记录或者数据放在一起的集合
27.相对路径和绝对路径区别
相对路径:从文件出发
绝对路径:从盘符出发
28.流的特点:2点
先进先出的方式
一组有序的数据序列
29.读写文本文件的步骤4点
导入包
构造文件输出输入流
读取写入文件的数据
关闭文件流对象
30.OutputStream类常用方法5个
void write()()
void wirte(byte[]bytes)
void wirte(byte[]bytes,int off,int end)
void.close()
void .flush()
31.InputStream类常用方法5个
int read()
int read(byte[]bytes)
int read(byte[]bytes,int off,int end)
void.close()
int available()
32:子类FileOutputStream常用的构造方法3个
FileOutputStream fos = new FileOutputStream(File file);
FileOutputStream fos = new FileOutputStream(String name);
33.字符流的特点:
抽象类,除了InputRead,OutputWrite,其他都必要用以字节流对象入参
34字符缓冲流特有功能的方法:
ButteredWrite;void newLine()写一行一行分隔符
ButteredRead: String readLine();读一行文字 结果包含行的内容的字符串,不包括任何行终止字符如果流的结尾已经到达,则为null
35:对象操作流的使用流名和对象反序列化流的流名
对象操作类:ObjcetInputStream
对象反序列化:ObjectOutputStream
36.一个对象要想被序列化必须要实现什么接口: Serializable接口
37多线程的定义:如果在一个进程中同时运行多个线程,用来完成不同的工作,则成为多线程
38多线程好处:充分利用CUP资源 简化编程模型 带来良好的用户体验
39线程的创建2种和启动
Thread类
Runnable接口
对象名. Start()//启动
40线程的创建的步骤
定义类继续Thread类
重写run方法,编写线程执行体
创建线程对象 然后调用start()方法启动线程
定义类来实现接口Runnable
重写run方法,编写线程执行体
创建线程对象,然后调用start()方法启动线程
41 比较两种创建线程的方式
Thread类:编写简单,可直接操作线程
适用于单继承
Runnaable接口:
避免单继承的局限性
便于资源共享
42 线程的状态5种
创建状态
就绪状态
源运行状态
组赛状态
死亡状态
43 线程方法6种
优先级:void setPriority()
休眠 void sleep()
暂停 void yield()
终止:void join()
中断: void interrupt()中断线程
boolean isAlive()测试线程是否处于活动状态
44线程优先级最大和最小和默认值
最大值是10,最小值是1,默认值是5
提高优先级就是单纯的提高概率可能性,但在抢占cup时还是有可能先跳出优先级低的
45线程之间的通信的3种方法
wait()
notify()
notifyAll()
46.XML是什么及特点2点
可扩展标记语言
特点:XML与操作系统和编程语言的开发平台无关
实现不同系统直接的数据交换
47作用:
数据交互
配置应用程序和网站
Ajax基石
48XML和JSON区别
XML系统之间的通信存在两个系统,浪费流量,安全,报文头,报文体
JOSN系统前后台之间进行通信,节约流量
49DOM解析XML的是什么:文档对象模型 DOM把XML文档映射成一个倒挂的树
50常用接口介绍
Document:表示整个XMl文档
常用方法 NodeLIst getElementsByTagName(String Tag)// 按文档顺序返回文档中指定标记名称的所有素集合
Element createElement(String tagName) 创建指定标记名称的元素
常用接口:Node该文档树中的单个节点
方法: NodeList getChildNodes() 获得该元素的所有子节点,返回节点集合
常用接口 Elemen XML文档中的一个元素
String getTagName() 获取元素名称
51 DOM解析XML文件步骤4个步骤:创建解析器工厂 DocumentBudderFactory(抽象类),创建解析器对象 DocumentBudder,解析器对象指定XML文件创建Document对象的parse()方法,以Document对象为起点操作DOM树(增删改查)
52 保存XML文件的步骤4个
TransformerFactory对象---创建Transformer对象-----DOmSource对象--StremResult对象---保存Transformer的对象 .transform(domSource,result);
53Collection接口的通过方法
clear()清除所有元素
add()添加
remove()移除
contains()判断集合是否包含指定元素
isEmpty()判断集合是否为空
size()返回集合中元素的数量
iterator()迭代器
toArray()返回一个包含集合中所有元素的数组
54 Iterator迭代器的步骤
获取迭代器对象
Iterator itor = set.Iterator();
判断是否存在下一个对象
while(itor.hasNext()){
返回要范围的下一个元素
NEW new = (NEW)itor.next()
55.Map接口的常用方法
remove()方法
put(key,value)方法 增
get(key) 通过key得到Value值
clear()清除所有元素
Set keySet()获取key的集合
Collection value()获取所有value的值