java常用类的介绍

本文介绍了Java中日期时间类的基本使用方法,包括Date、Calendar等类的操作及日期格式化,同时探讨了集合的实现原理及优化策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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%的量来减少数组的存储空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值