- StringBuffer
- 用于创建内容可以改变的字符串,改变内容时, 不会产生新的对象
- 创建对象
- StringBuffer bf = new StringBuffer();//创建默认长度16的字符串缓冲区
- StringBuffer bt = new StringBuffer(64);//创建对象时指定缓冲器长度
- StringBuffer bf = new StringBuffer("helloworld");//使用字符串对象来初始化缓冲区
- 常用方法,与String类大致相同,独有的方法如下
- reverse() 将字符串缓冲区中的内容逆序
- toString() 将StringBuffer对象转为String对象
- append(str) 将str追加到最后
- insert(pos, str) 将字符串传入到指定位置。
- StringBuffer与String
- StringBuffer是可变长的,String是定长的
- StringBuffer对象比较是否相等时,需toString()转为String对象来比较
- StringBuffer节省内存
- StringBuilder
- StringBuilder与StringBuffer的构造函数与成员函数几乎完全相同。
- 区别
- StringBuffer是线程安全的,StringBuilder是线程不安全的。
- StringBuffer是jdk1.0就有的,StringBuilder是jdk5.0之后才有的。
- StringBuffer的一些方法实现要比StringBuffer效率高。
- Math类
- 主要封装了数学运算相关的方法,都是static方法。类是final类。
- 常用的
- Math.PI double类型的圆周率
- ceil(num) 返回大于等于num的最小整数
- floor(num) 返回小于等于num的最大整数
- abs(num) 返回num的绝对值
- random() 返回0.0~1.0之间的随机的double类型的数,不可传参
- sqrt(num) 返回num的平方根
- round(num) 对num四舍五入取整
- 日期类
- Date类 java.util.Date
- 好多方法都已经过时,被弃用了
- Date date = new date();//使用系统当前时间构造date对象。
- before(date)//判断当前对象是否比date的时间早,如果早,返回true,否则返回false.
- after(date) //与before相反。
- Calendar类 日历类
- 不能使用new,通过getInstance()获取对象
- 获取对象 Calendar cal = Canlendar.getInstance();
- 常用方法
- get(字段名) 获取日历对象的某个字段的值
- Calendar.YEAR 年
- Calendar.MONTH 获取月份(0~11)
- calendar.DATE 日
- calendar.HOUR 时
- calendar.MINUTE 分
- calendar.SECOMD 秒
- set(字段名, 字段值) 设置某个字段的值
- cal.set(Calendar.YEAR,2019);
- 也可以年月日同时设置:
- cal.set(2020,3,10);
- getTime();返回一个Date对象。
- get(字段名) 获取日历对象的某个字段的值
- Date类 java.util.Date
- SimpleDateFormat 日期格式化类
- 1、首先创建一个SimpleDateFormat 对象
- SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- 2、使用fmt.format(date)来格式化一个对象
- fmt.format(new Date()); //将当前时间的date对象格式化为fmt对象所指定的格式字符串。
- 3、还可以将一个时间的字符串解析成一个Date对象
- Date fmt.parse(str); //将日期字符串解析成一个Date对象,如果字符串str不是按照fmt指定的格式,那么会抛出ParseException。
- 1、首先创建一个SimpleDateFormat 对象
- 集合
- 集合是一种容器,使用啦存放数据的结构,集合只能存放引用类型的元素
- 数组也是一种容器,定长。可以存放引用、基本数据类型。
- Collection接口 是List和Set的父接口
- 常用方法
- boolean add(Object obj) 将obj对象添加到集合中,如果成功,返回true,否则返回false。
- boolean addAll(Collection coll) 将另一个集合coll中的所有元素添加到本集合中
- boolean isEmpty() 判断集合是否为空
- boolean contain(obj) 判断集合是否包含obj这个元素
- boolean containAll(Colletion coll) 判断另一个集合coll中的所有元素是否都包含在本集合中。
- Iterator iterator() 获取集合的迭代器
- Object[] toArray() 将集合中的元素转为对象数组。
- boolean remove(obj) 将某个对象从集合中删除。
- boolean removeAll(Collection coll) 将coll集合的所有元素从本集合中删除。
- boolean clear() 清空本集合中的所有元素。
- int size() 获取集合中元素的个数
- 常用方法
- Set 集合
- Set集合存放的元素是无序的,不重复的。
- 无序是指元素在集合中的存储的顺序和加入集合顺序不一致
- 不重复是指Set集合中不允许有相同的元素 即集合中的任意两个元素如果使用equals返回false。
- Set集合的两个实现类
- HashSet 采用的是哈希算法来存储
- 创建HashSet对象 HashSet<Integer> set = new HashSet<>();//Integer可换
- TreeSet
- 存储顺序是按照由小到大来存储的,所有TreeSet中存储的类型的对象,必须能够比较大小
- 所存的类型,必须实现Comparable接口,重写接口中的compareTO()方法,否则会抛出异常。
- HashSet 采用的是哈希算法来存储
- Set集合存放的元素是无序的,不重复的。
- List集合
- 有序的,允许元素重复添加。有序是指:添加元素的顺序与存储元素的顺序一致。
- List的具体实现类
- ArrayList
- 类似于数组的链表,线性存储的,便于通过索引来高效的查找元素
- ArrayList的用法
- 构造方法 ArrayList<类型> list = new ArrayList<>();
- 常用的方法
- get(int index) 获取索引值为index对应的元素。index的取值,从0开始,到集合的size-1,否则越界,报IndexOutOfBoundsException
- int indexOf(obj) 返回元素obj在list中第一次出现的索引值,如果没有,则返回-1.
- int lastIndexOf(obj) 返回元素obj在list中最后一次出现的索引值,如果没有,则返回-1.
- set(int index,obj) 将索引为index的元素设置为obj。
- remove(int index) 删除指定索引index处的元素
- remove(obj) 删除第一次出现的obj的元素。
- LinkedList
- 数据结构中链表的实现,相比于ArrayList可以在头部和尾部进行增加、删除元素的操作。可以非常方便的实现stack或者Queque等数据结构。
- 构造方法:LinkedList<类型> list = new LinkedList<>();
- 常用的的方法(除了ArrayList的方法之外还包括)
- addFirst(obj) 将元素obj加入到头部
- addLast(obj) 将元素obj加入到尾部
- getFirst() 读取第一个元素
- getLast() 读取尾部的元素
- removeFirst() 返回并删除第一个元素
- removeLast() 返回并删除最后一个元素
- 如何选择二者
- 1、如果随机查找非常频繁,选择ArrayList,因为ArrayList线程存储
- 2、如果对于插入、删除操作频繁,选择LinkedList,插入、删除的效率比ArrayList高
- 3、实现Stack或者Queque的数据结构,使用LinkedList,功能函数多。
- ArrayList
- map集合
- 存储的是键值对,key/value,可以通过key查找value,key是唯一的,不允许重复
- 常用方法
- put(key,value) 往map中添加key/value的元素,如果map中已经存在该key,那么value会被替换成新的value,此时返回值是被替换的值,否则返回null
- putAll(map) 将map对象中的所有元素添加到本集合中
- get(key) 通过key来查找对应的value
- remove(key) 删除map中键为key的元素
- remove(key,value) 删除map中键为key,值为value的元素
- containsKey(key) 是否包含key,如果包含,返回true,不包含,返回false
- containsValue(value) 是否包含某个值为value的元素
- size() 元素个数
- isEmpty() 判断元素个数是否为空
- Set keySet() 返回map中所有的key组成的Set集合。一般用于遍历map。
- values() 返回map中所有value组成的Collection集合
- clear() 清空map中的所有元素。
- map 的实现类
- HashMap
- 存储是将key按hash算法来排列
- 构造方法:HashMap<key的类型,value的类型> map = new HashMap<>();
- TreeMap
- 按照key的值由小到大存储
- 存入map中的key的类型是要能够比较大小,实现Comparable接口
- 按照key的值由小到大存储
- HashMap与TreeMap的区别
- HashMap是通过Hash算法存储的;TreeMap是通过红黑树来实现的,存储的key是排好序的。
- HashMap可以通过调优因子来调优;TreeMap始终是平衡树。
- hashMap存储效率优于TreeMap。
- HashMap
第12天0310 StringBuffer、StringBuilder、Math、日期类, 集合:Set、List、Map
最新推荐文章于 2020-11-19 21:53:09 发布