Array数组与Date类型及格式化

Array数组优缺点和Array源码分析

通常数组是具有连续内存位置的元素的集合。它是一个数据结构,我们存储类似的元素。
Java语言中提供的数组是用来存储固定大小的同类型元素,因此只能在Java数组中存储固定的元素集合。
Java中的数组是基于索引的,数组的第一个元素存储的索引为:0。

Java Array 优点

代码优化:它使代码优化,可以轻松地检索或排序数据。
随机访问:可以获取任何位于任何索引位置的数据。

Java Array 缺点

大小限制:只能在数组中存储固定大小的元素。 
它在运行时不会增长其大 小。 为了解决这个问题,在Java中使用了集合框架。

Java中的数组类型有两种类型的数组分别是一维数组,多维数组。

Java 一维数组

Java中声明一个数组的语法(dataType数据声明类型)

 3种声明方式:    
 dataType[] arr; (or)  // 通用方式,首选
 dataType []arr; (or)  // 效果相同
 dataType arr[];       // 效果相同
 dataType[] arrayRefVar = new datatype[size];     //实例化1
 dataType[] arrayRefVar = {value0, value1, ..., valuek};    //实例化2

Java 多维数组

数据存储在基于行和列的索引(也称为矩阵形式)中

在Java中声明多维数组的语法:
dataType[][] arrayRefVar; (or)  
dataType [][]arrayRefVar; (or)  
dataType arrayRefVar[][]; (or)  
dataType []arrayRefVar[];
实例化
dataType[][] arrayRefVar = new dataType[arraylenght1][arraylenght2]; 

java.util.Arrays类

此类包含用来操作数组(比如排序和搜索)的各种方法。此类还包含一个允许将数组作为列表来查看的静态工厂。

public static int binarySearch(Object[] a, Object key)

用二分搜索法在给定数组中搜索给定值的对象(Byte,Int,Double等)。数组在调用前必须排序好的。如果查找值包含在数组中,则返回搜索键的索引;否则返回 (-(插入点) - 1)。

public static boolean equals(long[] a, long[] a2)

如果两个指定的long型数组彼此相等,则返回true。如果两个数组包含相同数量的元素,并且两个数组中的所有相应元素对都是相等的,则认为这两个数组是相等的。换句话说,如果两个数组以相同顺序包含相同的元素,则两个数组是相等的。同样的方法适用于所有的其他基本数据类型(Byte,Short,Int等)。

public static void fill(int[] a, int val)

将指定的int值分配给指定int型数组指定范围中的每个元素。同样的方法适用于所有的其他基本数据类型(byte,short,int等)。

public static void sort(Object[] a)

对指定对象数组根据其元素的自然顺序进行升序排列。同样的方法适用于所有的其他基本数据类型(byte,short,int等)。

日期时间

Date类支持两种构造函数。
第一种无参构造函数初始化对象new Date()
另外一种有参构造函数,经过的毫秒数new Date(long millisec)

Date类方法

NO方法和描述
1boolean after(Date date)
如果调用Date对象包含或晚于指定的日期则返回true,否则,返回false。
2boolean before(Date date)
如果调用Date对象包含或早于日期指定的日期返回true,否则,返回false。
3Object clone( )
重复调用Date对象。
4int compareTo(Date date)
比较日期的调用对象的值。如果这两个值相等返回0。如果调用对象是早于日期返回一个负值。如果调用对象最迟日期返回正值。
5int compareTo(Object obj)
操作以相同的compareTo(Date) 如果obj是一个类日期。否则,它会抛出一个ClassCastException。
6boolean equals(Object date)
如果调用Date对象包含相同的时间及日期指定日期则返回true,否则,返回false。
7long getTime( )
返回自1970年1月1日起已经过的毫秒数。
8int hashCode( )
返回调用对象的哈希代码。
9void setTime(long time)
设置所指定的时间,这表示经过时间以毫秒为单位,1970年1月1日从午夜的时间和日期
10String toString( )
调用Date对象转换为字符串,并返回结果。

日期比较:
使用getTime()函数来获得自1970年1月1日凌晨时,起已经过的毫秒数,然后比较两个对象的值。
使用compareTo()函数,这是由Comparable接口定义和日期执行。

日期格式化:
SimpleDateFormat是一个具体的类,用于格式化和分析日期的语言环境敏感的方式。
SimpleDateFormat先选择任何用户定义的模式为日期时间格式。使用时间模式字符串(日期和时间的格式化编码表)。在这个模式中,所有的ASCII字母被保留为模式字母。

字母描述示例
G纪元标记AD
y四位年份2017
M月份March or 17
d一个月的某一日期17
hA.M./P.M. (1~12)格式小时12
H一天中的小时 (0~23)23
m分钟数24
s秒数54
S毫秒数212
E星期几Tuesday
D一年中的某一天251
F一个月中第几周的周几2 (second Wed. in July)
w一年中第几周40
W一个月中第几周1
aA.M./P.M. 标记PM
k一天中的小时(1~24)24
KA.M./P.M. (0~11)格式小时10
z时区Eastern Standard Time
文字定界符Delimiter
单引号

使用printf格式化日期
日期和时间格式用printf方法可以非常轻松地做到。

import java.util.Date;
public class DateDemo {
  public static void main(String args[]) {
 // 初始化日期对象
 Date date = new Date();
 // 时间转成字符串输出
 String str = String.format("当前日期或时间 : %tc", date );
 System.out.printf(str);
  }
}
运行结果如下:
当前日期或时间 : 星期三 八月 16 10:24:27 CST 2017
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值