JAVA核心API上期操作集合框架1.docx

上传人:b****9 文档编号:25340375 上传时间:2023-06-07 格式:DOCX 页数:9 大小:27.21KB
下载 相关 举报
JAVA核心API上期操作集合框架1.docx_第1页
第1页 / 共9页
JAVA核心API上期操作集合框架1.docx_第2页
第2页 / 共9页
JAVA核心API上期操作集合框架1.docx_第3页
第3页 / 共9页
JAVA核心API上期操作集合框架1.docx_第4页
第4页 / 共9页
JAVA核心API上期操作集合框架1.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

JAVA核心API上期操作集合框架1.docx

《JAVA核心API上期操作集合框架1.docx》由会员分享,可在线阅读,更多相关《JAVA核心API上期操作集合框架1.docx(9页珍藏版)》请在冰豆网上搜索。

JAVA核心API上期操作集合框架1.docx

JAVA核心API上期操作集合框架1

1.日期操作

1.1.Date及其常用API

1.1.1.JAVA中的时间

Java中的时间使用标准类库的Date类表示,是用距离一个固定时间点的毫秒数(可正可负,long类型)表达一个特定的时间点。

固定的时间点叫纪元(epoch),是UTC时间1970年1月1日00:

00:

00。

UTC(UniversalTimeCoordinated世界调整时间)与GMT(GreenwichMeanTime格林威治时间)一样,是一种具有实际目的的科学标准时间。

1.1.2.Date类简介

java.util.Date类封装日期及时间信息。

Date类的大多数用于进行时间分量计算的方法已经被Calendar取代。

查看如下代码:

1.Datedate=newDate();

2.//系统当前的日期及时间信息

3.System.out.println(date);

4.//SunJan0611:

52:

55CST2013

5.longtime=date.getTime();

6.//1970年1月1日至今的毫秒数

因为Date的设计具有"千年虫"以及"时区"的问题,所以Date中的大部分方法已经不建议使用了,它们都被java.util.Calendar类所取代,该类我们稍后会讲解。

1.1.3.setTime与getTime方法

1.voidsetTime(longtime):

该方法用于为一个Date对象设置其需要表示的时间,该参数为一个long值,其含义是需要表示的这个时间点距离1970年1月1日00:

00:

00之间的毫秒差。

1.longgetTime()

该方法用于获取一个Date对象所表示的时间点,该返回值为一个long值,表示该时间点距离1970年1月1日00:

00:

00之间的毫秒差。

1.1.4.Date重写toString方法

Date重写了toString()方法,用一个字符串来描述当前Date对象所表示的时间。

格式如下:

1.    MonFeb1715:

36:

55CST2014

由此我们可以看出,实际上Date的toString()方法返回的字符串虽然很清晰的描述了时间,但是对于非英语地区来将,该字符串不够友好,我们更希望按照特定地区表示时间的方式。

比如我们更习惯以下的风格:

1.    2014-02-1715:

36:

55星期一

那么有没有方式可以代替Date的toString()方法来获取一个特定格式的字符串呢?

答案是肯定的,java为我们提供了一个类,叫做SimpleDateFormat,该类就可以完成。

下面我们来学习一下这个类。

1.2.SimpleDateFormat

1.2.1.SimpleDateFormat简介

SimpleDateFormat是一个以与语言环境有关的方式来格式化和解析日期的具体类。

它允许进行格式化(日期->文本)、解析(文本->日期)和规范化。

简单的说,SimpleDateFormat就是根据一个特定的日期格式在字符串与Date之间相互转换。

那么这个特定的日期格式是怎样定义的呢?

下面我们来学习一下如何定义日期格式字符串。

1.2.2.日期模式匹配字符串

日期模式的匹配字符串如表-1所示。

表-1日期模式匹配字符串

例如:

yyyy年MM月dd日--HH:

mm:

ss可以匹配2014年01月06日--13:

22:

41

1.2.3.将Date格式化为String

将Date格式化为String,我们需要使用SimpleDateFormat提供的方法:

1.    Stringformat(Dated)

例如:

1.Datenow=newDate();//默认实例化的Date表示当前系统时间

2.SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:

mm:

ss");

3.Stringstr=sdf.format(now);

4.System.out.println(str);//2014-01-0613:

21:

12

1.2.4.将String解析为Date

将String格式化为Date,我们需要使用SimpleDateFormat提供的方法:

1.    Dateparse(Strings)

例如:

1.Stringstr="2008年08月08日12:

22:

46";

2.SimpleDateFormatsdf

3.            =newSimpleDateFormat("yyyy年MM月dd日HH:

mm:

ss");

4.Datedate=sdf.parse(str);

5.System.out.println(date);//FriAug0812:

22:

46CST2008

1.3.Calendar类

1.3.1.Calendar简介

java.util.Calendar类用于封装日历信息,其主要作用在于其方法可以对时间分量进行运算。

Calendar是抽象类,其具体子类针对不同国家的日历系统,其中应用最广泛的是GregorianCalendar(格里高里历,即通用的阳历),对应世界上绝大多数国家/地区使用的标准日历系统。

1.3.2.getInstance()方法

Calendar是抽象类,其提供了一个工厂方法:

CalendargetInstance()。

该方法可以根据当前系统所在地区获取一个适当的Calendar的子类实现。

在实际开发中,也推荐使用该方法来实例化Calendar的对象。

1.3.3.设置日期及时间分量

Calendar提供了一种通用的设置时间的方式:

1.    voidset(intfield,intvalue)

该方法可以通过对不同的时间分量分别设置不同的值。

Calendar对不同的时间分量提供了相应的常量,我们在使用set方法设置时,第一个参数就应当使用对应的常量作为时间分量。

1.Calendarcalendar=Calendar.getInstance();//创建出的Calendar表示当前系统时间

2.//设置年为2008年

3.calendar.set(Calendar.YEAR,2008);

4.//设置月为5月

5.calendar.set(Calendar.Month,4);//月份从0开始

6.calendar.set(Calendar.Month,Calendar.MAY);//也可以使用常量来设置

7.//设置日为30日

8.caneldar.set(Calendar.DAY_OF_MONTH,30);

1.3.4.获取时间分量对应的值

Calendar提供了一种通用的获取时间分量的方式:

1.    intget(intfield)

该方法可以通过对不同的时间分量获取相应的值。

Calendar对不同的时间分量提供了相应的常量,我们在使用get方法获取时,参数就应当使用对应的常量作为时间分量。

1.Calendarcalendar=Calendar.getInstance();

2.intyear=calendar.get(Calendar.YEAR);

3.intmonth=calednar.get(Calendar.Month);

4.intdate=calendar.get(Calendar.DAY_OF_MONTH);

5.//需要注意,月份要加1,因为月份是从0开始的

6.System.out.println(year+"-"+(month+1)+"-"+date);//2014-1-4

1.3.5.getActualMaximum方法

intgetActualMaximum(intfield)方法用于获取给定时间分量所允许的最大值

例如:

获取当前系统时间中当月的最后一天(日所允许的最大值)

1.Calendarcalendar=Calendar.getInstance();

2.intmax=calendar.getActualMaximum(Calendar.DAY_OF_MONTH);

3.System.out.println("当前月的最后一天为:

"+max+"日");//当前月的最后一天为31日

1.3.6.add方法

Calendar还允许我们使用统一的方式来对某个时间分量的值进行计算。

我们需要使用方法voidadd(intfield,intamount)。

该方法可以为某个时间分量的值加上给定的值,若想减去给定的值,那么传入的值需要是负数即可。

并且计算后会自动进行相应的进位,例如若当前为月底,那么加一天后,为下个月的月初,而月就会进位。

例如:

当前系统时间为2014-01-31日

1.Calendarcalendar=Calendar.getInstance();

2.//计算明天(在日的基础上加一天)    

3.calendar.add(Calendar.DAY_OF_YEAR,1);//当前Calendar表示的为2014-02-01,月进位了

1.3.7.setTime与getTime方法

Calendar的voidsetTime(Datedate),允许我们为Calendar设置Date对象所表示的时间。

Calendar的DategetTime(),允许我们获取一个使用Date对象描述的Calendar所表示的时间。

例如:

1.Calendarcalendar=Calendar.getInstance();

2.Datedate=calendar.getTime();

3.System.out.println(date);//MonFeb1715:

36:

55CST2014

2.集合框架

2.1.Collection

java提供了一种可以存数一组数据的数据结构,其提供了丰富的方法,在实际开发中往往比数组使用的广泛。

这种数据结构成为集合:

Collection。

Collection是一个接口,其定义了集合的相关功能方法。

2.1.1.List和Set

Collection派生出了两个子接口,一个是List另一个则是Set。

List:

称为可重复集,顾名思义,该集合中是允许存放重复元素的,那么何为重复元素?

重复元素指的并非是同一个元素,而是指equals方法比较为true的元素。

Set:

称为不可重复集,所以,该集合中是不能将相同的元素存入集合两次,同List,这里相同指的也是两个元素的equals比较结果为true。

2.1.2.集合持有对象的引用

集合中存储的都是引用类型的元素,那么引用类型变量实际上存储的是对象的“地址”,所以实际上集合只存储了元素对象在堆中的地址。

而并不是将对象本身存入了集合中。

2.1.3.add()方法

Collection定义了一个add方法用于向集合中添加新元素。

该方法定义为:

1.booleanadd(Ee)

该方法会将给定的元素添加进集合,若添加成功则返回true,否则返回false

例如:

1.Collectionc=newArrayList();

2.System.out.println(c);//[]

3.c.add("a");

4.c.add("b");

5.c.add("c");

6.System.out.println(c);//[a,b,c]

这里Collection后面的是泛型,我们后面会讲解,这里不写也没有关系。

2.1.4.contains方法

1.booleancontains(Objecto)

该方法会用于判断给定的元素是否被包含在集合中。

若包含则返回true,否则返回false。

这里需要注意的是,集合在判断元素是否被包含在集合中是使用元素的equals的比较结果。

(o==null ?

 e==null :

 o.equals(e))其中e是集合中的元素。

例如:

1.Collectioncells=newArrayList();

2.cells.add(newCell(1,2));

3.cells.add(newCell(1,3));

4.cells.add(newCell(2,2));

5.cells.add(newCell(2,3));    

6.Cellcell=newCell(1,3);

7.//List集合contains方法和对象的equals方法相关

8.booleanflag=cells.contains(cell);

9.//如果Cell不重写equals方法将为false

10.System.out.println(flag);//true

2.1.5.size,clear,isEmpty方法

size方法用于获取当前集合中的元素总数。

该方法定义为:

intsize()

clear方法用于清空集合。

该方法定义为:

voidclear()

isEmpty方法用于判断当前集合中是否不包含元素。

该方法定义为:

booleanisEmpty()

例如:

1.Collectionc=newHashSet();

2.System.out.println(c.isEmpty());//true

3.c.add("java");    

4.c.add("cpp");    

5.c.add("php");

6.c.add("c#");    

7.c.add("objective-c");

8.

9.//isEmpty:

false,size:

5

10.System.out.println("isEmpty:

"+c.isEmpty()+",size:

"+c.size());        

11.c.clear();

12.

13.//isEmpty:

true,size:

0

14.System.out.println("isEmpty:

"+c.isEmpty()+",size:

"+c.size());    

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 辩护词

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1