day01: 集合
1.集合框架 :提供接口和类,用于处理多个数据
[间接的代替数组0]
2.集合接口和类 :
Collection接口 :存储数据不唯一,无序
List接口 : 存储数据不唯一,有序
ArrayList类 :长度可变的数组,在内训中开辟一串连续的空间
(遍历和随机访问效率高)
LinkedList类 :链表存储方式,一个数据指向下一个数据
(插入和删除效率比较高)
Set接口 : 存储数据唯一,无序
HashSet类
TreeSet类
Map接口 : 以 键-值对 形式存储
HashMap类
TreeMap类
Collections类 :提供集合数据处理的算法
3.集合的使用:
List接口常用方法:
集合名.add :添加数据
集合名.remove():删除 根据括号中传的下标数字,或者数据
//如果内容与下标一致,默认优先下标
集合名.size():获取集合的长度
集合名. get:根据下标获取元素
集合名.contains(): 判断集合中是否存在某个元素(返回true或者flas)
LinkedList类特有的方法: 其他类无法使用
集合名.addFirst():首位置添加数据
集合名.addLast():末位置添加数据
集合名.removeFirst():删除首位置
集合名.removeLast():删除末位置
集合名.getFirst():获取首位元素
集合名.getLast():获取末位元素
4.Set接口
HashSet类(速度快,效率高,安全性不足)
TreeSet类(速度慢,效率低,安全)
集合名.add :添加数据
集合名.remove():删除 根据括号中传数据元素
//如果内容与下标一致,默认优先下标
集合名.size():获取集合的长度
集合名. get:根据元素内容获取元素
集合名.contains(): 判断集合中是否存在某个元素(返回true或者flas)
5.Map接口:
HashMap类
TreeMap类
key ----> value 的 键值映射关系
key : 唯一,无序(所有的key合起来,就是set集合)
value: 不唯一,无序(所有的value合起来,就是Collection集合)
集合名.put(key,value) : 添加数据 键key,值为value
集合名.remove() : 根据键删除元素
集合名.sizi() : 获取集合的长度个数
集合名.containsKey(key) : 判断集合中是否存在某个键元素
集合名.get(key) : 根据键取值
集合名.keySet() : 获取所有的键,并返回一个set集合
集合名.value() : 获取所有的值,并返回一个Collection集合
day02
1.迭代器 Iterator
使用:1.将需要遍历的集合转化为迭代对象 集合名.iterator()
2.循环判断下一个是否存在 迭代对象.hasNext()
3.从迭代对象中取出已经判断过的元素 迭代对象.next()
2.枚举 Enum :由一组固定的常量组成
作用 :类型安全,易于输入,代码清晰
3.包装类 :属于类文件,声明的都是对象,可以赋值null
都是引用数据类型
包装类.valueOf(): 将字符串转化为对应的包装类类型
包装类对象.xxxValue() : 将包装类转化为基本数据类型----拆箱
byteValue(),intValue()
longValue(),shortValue()
doubleValue(),floatValue()
包装类.valueOf : 将基本数据类型转化为包装类型----装箱
除了character之外
包装类.parseXXX():字符串转化成基本类型
parseInt()
parseDouble()
......
4.将对象或者数据以字符串的形式进行返回
Object类提供的toString()方法
子类对象想要进行字符串转换,只需要重写父类toString()方法
day03
1.String类的基本对象
new一次,一个新的对象
String c=new String("智联");//这是俩个对象
== 和 equals()区别
1.== 用于数值,equols用于字符串(不准确的)
2.== 比较的是地址
3.equols比较的是地址中的内容
2. 字符串.equalsIgnoreCase(字符串) : 忽略大小写进行字符串内容比较
toLowerCase() : 将大写转换为小写
toUpperCase() : 将小写字符转化为大写
3.字符串拼接:concat() : 将字符串拼接
字符串.indexOf(value) : 查找第一个value值出现的位置(下标从0开始)
字符串.(value) : 查找最后一个value值出现的位置(下标0开始)
字符串.substring(index) : 获取从index开始的字符串,包含index位置
字符串.substring(begin,end) : 获取从begin开始到end结尾的字符串,包含begin位置,不包含end;
字符串.trim() : 去掉字符串前后的空格
4.字符串拆分
String[] 数组= 字符串.split();
7.Math类 基本算术运算类,
8.Random类 随机数字
9.时间:
获取当前系统的日期对象
Date date=new Date();
创建用于日期格式化的对象 ()参照为日期展示的匹配形式
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd hh:mm:ss E");
用格式化对象对date进行格式化输出,返回String类型的值
String format=sdf.format(date);
System.out.println(format);
用于单个抽取时间
Calendar cal=Calendar.getInstance();
10.线程:
StringBuffer和StringBuilder
1.StringBuffer线程安全的,不支持多线程处理,速度慢
2.StringBuilder线程非安全,支持多线程处理,速度快
3.通常会牺牲安全问题,提高效率,选择StringBuilder比较多
//sb.charAt(0) : 去对应下标的字符
//sb.delete(0,2) : 删除指定区间的字符包含头不包含尾
//sb.replace(0,2,"ab") : 替换指定区间的字符包含头不包含尾
//sb.reverse() : 逆向变化