1. 常用类有:java.util包下的类 日期类Date, 本地处理类Locale, 日历处理类Calendar以及DateFormat和SimpleDateFormat类
2. Date方法介绍:
a) Date d = new Date()
b) d.getyear() + 1900,为了方便计数,当前的时间都是相对于1900的那个时间;类似的还有 Month, Day的方法获得相应的月份和日期;
c) toLocaleString(), 按照当前系统的日期格式打印,例如打印格式为 2013-8-3 20:04:00
d) 计算程序的运行时间,打印结果为
(d1.getTime() – d2.getTime());
e) 将指定时间赋值给一个Date对象, new Date(d.getTime());
3. Locale类,是一个处理当前系统的系统属性类,定义一个国家类型的数组:
Locale[] l = new Locale[]{Locale.PRC, Locale.CHIAN, Locale.Canada};
1).显示国家的中文l[1].getDisplayCountry();
2). 显示国家语言 l[1].getDisplayLanguge();
4.日历处理类:Calendar c = Calendar.getInstance();
1).c.set(int a, int i); ----设定年份
2).c.get(int i); ----得到指定参数的月份
3).c.getActualMaxinum(Calendar.month); --获得一个月的最 大天数。
5.字符集CharSet, java.nio.charset.CharSet, unicode格式是utf-16,java提供了很多字符集。
6.字符子:是一种文字,将编码字节转换成文字,需要字符集来套用进行转换。
7.格式转换(Date):
String time = “2014/04/03 22:23:24”;
可以处理将一个时间格式的字符串转换:
DateFormat f = new simpleDateFormat(“yyyy/MM/dd hh:mm:ss”);
DateFormate时间样式类,而时间格式转换类simpleDateFormat,
1).大写的HH,表示24小时制
2).将Date类型的对象转化成字符串,只需要new SimpleFormat(“yy年MM月dd号”);,调用该对象的format(Date对象);
3).但是Format里的的字符串必须满足时间的格式,若不满足,则无法完成转换。
8.DateFormat df = DateFormat.getDateInstance(int i, Locale);里的两个参数分别表示:时间的显示格式: FULL LONG, MEDIUM SHORT, 而第二个参数表示国家类型,即国家名。
9.集合:
1).普通数组:一次性申请需要的所有内存空间供该数组使用;
2).可变数组:使用多少,就申请多少,如果申请的数组不够用,在需要使用时,再去申请。
10.集合实现:写一个方法,定义一个Object类型的对象数组,引用数组对象时 objs,并给其的初始值为null, 接收一个Object的对象,先做一个判断,如果 objs == null, new 一个对象数组, 长度为1,将obj对象放到该数组的di零个位置,若ogjs对象不为空,则new 一个新的数组,长度是原来数组长度的加1,将原来数组的元素赋值到新数组里,将obj对象赋值给新数组的最后一个下标位置,新数组对象引用赋值给旧数组对象的引用,如下图:
改进1:
由于每存放一个对象,都需要向内存申请新的存储空间,内存的申请需要时间,若添加的对象数量比较大,造成程序频繁的向内存申请空间,造成程序效率比较低,所以可以考虑每次申请的新的数组的长度是原来的数组长度的1.5倍,当新数组空间使用完时,又可以申请一个在原来基础多出0.5倍的存储空间,这样,当对象添加数量较大时,可以不用频繁的向系统申请空间,提高了程序的执行效率。
改进2:
使用for循环拷贝数组是,其实是将老数组的元素拷贝到新数组内,若数组的长度比较大,拷贝起来效率比较低,故可以调用System.arrayCopy(oldArray, Obegin, Oend, newArray, Nbegin, Nend);
此方法是是将数组在内存中进行的批量拷贝,故效率比较高。
11.集合的删除方法:与集合的添加对象的方法相类似,集合的添加方法,当数组空间不够用,每次一原数组的长度的0.5来作为数组的空间增加量,删除方法正好相反, 当出现过多的空闲空间时,也可以以每次10%的量来减少数组的存储空间。