A

日期操作

java中的时间使用标准库的Date表示,使用距离一个固定的点毫秒数表达一个特定的时间点。固定的时间点称为纪元(1970-1-1 00:00:00);

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

Date d=new Date();表示当前系统时间。

SimpleDateFormat:日期格式类:日期类和字符串格式之间转化

format():将日期类型(Date)数据格式化为字符串(String)。Date-->String

parse();将字符串类型(java.lang.String)解析为日期类型(java.util.Date)。String-->Date

日期模式匹配字符

字符 含义 示例

y 年 yyyy年(2013年);yy年(13年)

M 月 MM月(02月);M月(2月)

d 日 dd日(06日);d日(6日)

E 星期 E--星期日(sun)

H 小时(24小时制)

h 小时(12小时制)

m 分钟 m:1分钟;mm:01分钟

s 秒 ss:02秒;s:2秒

a am或者pm表示

Calendar类

java.Util.Calendar类用于封装日历信息,起主要作用在于其他方法对于时间分量可以运算。Calendar类是一个抽象类。获取Calendar类对象如下:

Calendar c=Clendar.getInstance():当前系统时间

月份 : 一月 二月 三月.....

Calendar.MONTH: 0 1 2.....

星期: 星期天 星期一 星期二 星期三 ...

Calendar.DAY_OF_WEEK: 1 2 3 4

通过Calendar设置日期:

Calendar c=Calendar.getInstance();

c.set.(Calendar.YEAR,2008);

c.set(Calendar.MONTH,Calendar.AUGUST);

C.set(Calendar.DATE,8);

getActualMaximum()获取给定日历字段的可能最大值

通过Calendar类获取时间分量:

int year=c.get(Calendar.YEAR);

int month=c.get(Calendar.MONTH)+1;

int day=c.get(Calendar.DATE);

int week=c.get(Calendar.DAY_OF_WEEK)-1;

设置星期:

--如果当前日期是周日,那么设置的星期1-6日期往后推;

--如果当前日期不是周日,那么设置的星期小于当前的日期往前推,大于当前日期的往后推;如果是当前日期的不变。

c.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);

(所取日期为当前日期的所在的同一个星期)

增加或减少时间分量

c.add(Calendar.YEAR,-1);//时间往前减少一年

c.add(Calendar.MONTH,1);//时间往后加一个月

c.add(Calendar.DATE,3);//时间往后加3天

复合框架

Collection(集合):有两个子接口:List和set;List可重复集,set:不可重复集;

元素是否重复,取决于元素的eqauls方法比较的结果;

Collection list=new Array.List();

boolean add(E e):用于添加元素;

集合中储存的都是引用类型的元素,并且集合只保存每个对象的引用,而并非将元素对象存入集合中。

boolean contains(Object o);该方法用于判定元素是否包含在该集合中,若包含返回true,反之返回false

[元素是否包含在集合中以equals比较结果决定。]

size();用于返回当前集合中的元素总数

clear();清空集合中的元素

isEmpty():该方法用于判断当前集合是否为空;如果为空则返回true,反之返回flase

remove();删除集合中的元素

get():获取集合中的元素[List方法才能使用]

boolean addAll(Collection c);把传入的集合元素添加到当前集合。

--List:有序可重复的;ArrayList()

--Set:无序不可重复的;HashSet()

重复性:是由集合中元素equals方法决定。

迭代器:Itertor:迭代器用于遍历集合元素,如果想通过迭代器遍历元素,首先要把集合转化为迭代对象:Iterator iterator();

Iterator有两个常用方法:

--boolean hasNext();判断集合中是否还有元素可遍历;

--next():返回迭代对象;

Iterator的remove()方法:从集合中删除next()获得的元素。在使用迭代器遍历集合时,不能通过集合的remove()方法删除否则会抛出异常。但是可

以通过迭代器自身提供的remove()方法删除next()迭代出的元素

注意:1、迭代器的删除方法是在原集合中删除元素

2、在调用remove()方法前必须通过next()方法迭代过元素,那么删除的就是这个元素。并且不能再次调用remove()方法,除非再next()

后方可以调用

增强型for循环:for(元素类型 变量:集合(数组)){}增强型for循环并非新的语法,而是在编译过程中,编译器会将该训话转换为迭代器模式,所以该

循环本质上是迭代器

如:

Set s=new HashSet();

for(String str:s){

System.out.println(str);

}

泛型机制:java泛型机制广泛的应用到集合框架中,所有的集合类型都带有泛型参数,这样在创建集合是可以指定放入集合中元素的类型。java编译器可以根

据此类型检查,这样可以减少代码在运行时出现错误的可能性

集合操作---线性表

List接口是Collection接口的子接口,用于定义线性表数据结构;可以将List理解为存放对象的数组,只不过元素个数可以动态的增加和减少

1)List接口有两个常见的实现类:ArrayList(动态数组)和LinkedList(链表)。两种实现类的方法逻辑上完全一样,但性能是有一些差别的;

ArrayList更适合随机访问;LinedList更适合添加和删除,但是在性能要求不是很苛刻的情况下,是可以忽略这个差别的。

2)较Collection接口List所独有的方法:

--E get(int index):获取集合中指定下标对应的元素,下标是从零开始。

--E add(int index,E elment):将给定元素插入到指定位置,原来位置及后续元素都顺序向后移动。

--E set(int index,E elment):(替换功能)将给定的元素存入指定位置,并将原位置的元素返回。

--E remove(int index):删除给定位置的元素,并把被删除的元素返回。

--List subList(int begin,int end):用于获取List集合的子集合

注:由于集合中存放的是对像的地址,subList()获取的是集合中对象的地址; 所以当对子集合或者原集合的修改都会影响到子集合和原集合彼此。

List转换为数组:Collection接口有一个方法:toArray();作用:把集合转化为数组

如:Object[] arr=list.toArray();

String[] arr1=l.toArray(new String[]{});

数组转换为集合:static asList():Arrays类的静态方法:把数组转换为集合

如:list=Arrays.asList(arr);

集合转换为数组时(toArray()):对转换后的数组做增删改的时候,不会抛出异常;

数组转换为集合时(asList()):对转换后的集合做增删操作的时候会抛出异常;而做修改的时候不会抛出异常,但会对元数组产生影响。

List排序

对集合中的元素排序可以用工具类Collections.sort()方法,进行排序;那么两个元素对象之间就一定要有大小之分,如何界定的?使用Collections的

sort排序的集合元素必须是实现了Comparable接口的实现类。该接口表示其子类是可以比较,因为实现该接口需要重写一个方法:

---int compareTo(T t);该方法用于使用当前与给定对象比较。

--如果当前对象大于给定对象,那么返回值应为>0的整数;

--如果当前对象小于给定对象,那么返回值应为<0的整数;

--如果当前对象等于给定对象,那么返回值应为=0的整数;

一旦java实现了Comparable接口,其逻辑就已经确定,如果希望在排序的操作中临时改变规则,可以采用Comparator接口实现。Comparator接

口也有一个需要重新定义的方法:

int compare(T t1,T t2)该方法用于使两个给定对象比较。

--如果t1对象大于t2对象,那么返回值应为>0的整数;

--如果t1对象小于t2对象,那么返回值应为<0的整数;

--如果t1对象等于t2对象,那么返回值应为=0的整数;

队列和栈:

Queue:是一种数据结构,可以将队列看成一个特殊的线性表,队列限制了对线性表的一些访问方式;

队列遵循先进先出的原则:想队列中添加元素用方法:boolean offer(E e);

从队列的另一端取元素方法:E poll():从队首删除并返回一个元素;E peek():返回队首的元素但并不删除。

---Queue的实现类是LinkedList;

Queue q=new LinkedList();

--Deque:是队列的子接口,称为双端队列;如果将Deque限制只能从一端入队和出队,则就实现了栈的数据结构,对于栈而言:入栈称之

为push,出栈称为pop;实现类是LinkedList。

1)push():向栈中添加元素;

2)pop();获取栈中的元素。

java临时的api,JAVA API-day03相关推荐

  1. Java临时缓存API –测试早期草案评审RI

    它被称为" 永无止境的故事 ". JSR在11年半前开始运作,并于2001年3月6日通过了JSR 评审投票 . 如果您想知道要获得成千上万个低JSR编号需要什么,那就是秘密. 与迈 ...

  2. java 最小化 api_Java的API设计实践

    Introduction 了解在设计Java API时应该应用的一些API设计实践.通常,这些实践很有用,并确保API可以在模块化环境中正确使用,例如OSGi和Java平台模块系统(JPMS).有些做 ...

  3. Java中对接钉钉API获取数据流程

    场景 需要做后台管理系统,接入钉钉API获取人员.考勤.审批等相关数据. 实现 钉钉开放平台应用开发文档 https://developers.dingtalk.com/document/app 首先 ...

  4. Java类库及其组织结构(Java API)

    Java 官方为开发者提供了很多功能强大的类,这些类被分别放在各个包中,随JDK一起发布,称为Java类库或Java API. API(Application Programming Interfac ...

  5. java hadoop api,Hadoop API,HadoopAPI

    Hadoop API,HadoopAPI HDFS JAVA APIversion 273 HBASE JAVA APIversion 124 MAPREDUCE JAVA APIversion 27 ...

  6. 分享一个关于Java调用百度、高德API、ArcGIS地图获取逆地理的代码

    百度地图和高德地图用户获取国内地址, 区别在于高德地图的精确度比百度地图要高一点, 百度经纬度和高德地图经纬度位置相反, 高德地图不支持国外地址, ArcGIS地图获取国外地址 1.首先需要到高德开发 ...

  7. Cannot resolve method ‘getTableEnvironment(org.apache.flink.api.java.ExecutionEnvironment)‘

    代码如下: public class UDTF {public static void main(String[] args) throws Exception{ExecutionEnvironmen ...

  8. 利用java实现android项目结构API文档

    利用java实现android项目结构API文档 2012-11-16 快速生成API文档列表 在android项目中的.CLASSPATH文件里添加android.jar路径 例如: <cla ...

  9. java ee api_Java EE安全性API向前发展

    java ee api Java EE安全API( JSR 375 )正在向前发展,正如Arjan Tijms在此处概述的那样 : http : //arjan-tijms.omnifaces.org ...

  10. jsr 269 api_研究Java 9 Money and Currency API(JSR 354)

    jsr 269 api JSR 354定义了一个用于处理货币和货币的新Java API,计划将其包含在Java 9中.在本文中,我们将研究参考实现的当前状态: JavaMoney . 就像我关于Jav ...

最新文章

  1. python 桑基图 地理坐标_【转载】Python数据可视化-实现Sankey桑基图
  2. 单行文字垂直/水平跑马灯效果
  3. 地平线黄畅:软件2.0时代,数据驱动进化,算力将成为智能化的基石丨MEET2021...
  4. mageia linux 5.1 内核,Linux 5.10 LTS发布 为近期最重要的内核版本之一
  5. 《面向对象程序设计课程学习进度条》
  6. 【ArcGIS风暴】ArcGIS栅格数据(分区)统计方法总结
  7. Weblogic EJB 学习笔记(2)精
  8. 教室信息管理系统mysql_教师信息管理系统(方式一:数据库为oracle数据库;方式二:存储在文件中)...
  9. 转: ImageMagick 命令行的图片处理工具(客户端与服务器均可用)
  10. 中芯国际发布2021Q1财报:55/65纳米工艺依旧为营收主力
  11. 迪迦奥特曼“亲临”发布会!一加9R今日发布:价格成唯一悬念
  12. java的多线程机制(文字描述区别)
  13. VMware下Mac系统自适应屏幕
  14. 移动硬盘丢失数据的原因 移动硬盘数据怎么恢复回来
  15. html鼠标悬停效果加边框,js实现鼠标悬浮给图片加边框的方法
  16. iview中的Select选择器
  17. Snaker的回退流程源码分析
  18. [UE4]传送门:场景切换
  19. 修改源码文件的编码格式的小技巧
  20. 【Python学习笔记】超详细Python快速入门教程(下)

热门文章

  1. img.width一直是0的问题--记录(二)
  2. O2O上门实战复盘:10万元如何换来937个订单?
  3. 从千团大战到网贷战国,烧钱千亿背后的底层用户增长逻辑
  4. 喂,你连用户模型都不懂还当产品?来,妹纸我手把手教你
  5. 运营资源很少的时候,怎么运营自己的产品(完结)
  6. 【干货】2014Q4手游崩溃数据报告,iphone6第1、三星第2
  7. .Net IOC框架入门之三 Autofac
  8. Js中的数据属性和访问器属性
  9. 七、Mosquito 集群搭建
  10. Docker将在存储上崭露头角?