版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JAVA核心技术java.utiljava.util包包本章相关词汇单单 词词说说 明明utility有用的,实用的有用的,实用的date日期日期calendar日历,历法日历,历法random随意,任意,胡乱的随意,任意,胡乱的list列表列表link链条,链状物链条,链状物hash散乱的,一般指散列码散乱的,一般指散列码map地图地图vector向量,矢量向量,矢量本章目标了解java.util包运用如下类进行Java编程: Date类 Calendar类 Random类使用Collection接口及其实现类: ArrayList类 LinkedList类 Vector类掌握HashMap
2、类java.util包ArrayList类掌握HashMap类java.util包简介java.util包是Java内置的一个工具包,其中包含一系列常用的工具类;如处理日期和日历的类以及一些集合类;java.util包不会默认导入,如果要使用到该包中的类,则必须在程序的开始部分显式地声明如下语句:import java.util.*;Date类Date类对象用来表示时间和日期;该类提供一系列操纵日期和时间各组成部分的方法;Date类最多的用途是获取系统当前的日期和时间。Date类的构造方法Date类的构造方法有6种重载方式,以下是比较常用的几种。构构 造造 方方 法法说说 明明Date()使用
3、系统当前时间创建日期对象使用系统当前时间创建日期对象Date(long date)使用自使用自1970年年1月月1日以后的指定毫秒数创建日期对象日以后的指定毫秒数创建日期对象Date(int year, int month, int date)创建指定年、月、日的日期对象创建指定年、月、日的日期对象Date(int year, int month, int date,int hrs, int min, int sec)创建指定年、月、日、时、分、秒的日期对象创建指定年、月、日、时、分、秒的日期对象方方 法法 原原 型型说说 明明boolean after(Date when)如果当前日期对象在
4、如果当前日期对象在when指定的日期对象之后,返回指定的日期对象之后,返回true,否,否则返回则返回falseboolean before(Date when)如果当前日期对象在如果当前日期对象在when指定的日期对象之前,返回指定的日期对象之前,返回true,否,否则返回则返回falsevoid setTime(long time)设置日期对象,以表示自设置日期对象,以表示自1970年年1月月1日起的指定毫秒数日起的指定毫秒数boolean equals(Object obj)如果两个日期对象完全相同,返回如果两个日期对象完全相同,返回true,否则返回,否则返回falseString t
5、oString()返回日期的格式化字符串,包括星期几返回日期的格式化字符串,包括星期几DateDate类的常用方法类的常用方法Date类示例public class DateDemo public static void main(String args) Date date = new Date(); /获得当前的系统日期和时间 System.out.println(今天的日期是: + date); long time = date.getTime(); /获得毫秒数 System.out.println(自1970年1月1日起以毫秒为单位的时间(GMT): + time); /截取字符串中
6、表示时间的部分 String strDate = date.toString(); String strTime = strDate.substring(11, (strDate.length() - 4); System.out.println(strTime); strTime = strTime.substring(0, 8); System.out.println(strTime); Calendar类Calendar类也是用来操作日期和时间的类,但它可以以整数形式检索类似于年、月、日之类的信息;Calendar类是抽象类,无法实例化,要得到该类对象只能通过调用getInstance方
7、法来获得;Calendar对象提供为特定语言或日历样式实现日期格式化所需的所有时间字段。Calendar类的常用方法方方 法法 原原 型型说说 明明Calendar getInstance()返回默认地区和时区的返回默认地区和时区的Calendar对象对象int get(int fields)返回调用对象中返回调用对象中fields指定部分的值指定部分的值void set(int fields, int value)将将value中指定的值设置到中指定的值设置到fields指定的部分指定的部分void add(int fields, int amount)将将amount值添加到值添加到fie
8、lds指定的时间或日期部分指定的时间或日期部分Date getTime()返回与调用对象具有相同时间的返回与调用对象具有相同时间的Date对象对象Object clone()返回调用对象的副本返回调用对象的副本void clear()清除当前对象中所有的时间组成部分清除当前对象中所有的时间组成部分boolean after(Object obj)如果调用对象时间在如果调用对象时间在obj之后,返回之后,返回trueboolean before(Object obj)如果调用对象时间在如果调用对象时间在obj之前,返回之前,返回trueboolean equals(Object obj)判断调用
9、对象与判断调用对象与obj是否相等是否相等Calendar类示例public class CalendarDemo public static void main(String args) /创建包含有当前系统时间的Calendar对象 Calendar cal = Calendar.getInstance(); /打印Calendar对象的各个组成部分的值 System.out.print(当前系统时间:); System.out.print(cal.get(Calendar.YEAR) + 年); System.out.print(cal.get(Calendar.MONTH) + 1)
10、+ 月); System.out.print(cal.get(Calendar.DATE) + 日 ); System.out.print(cal.get(Calendar.HOUR) + :); System.out.print(cal.get(Calendar.MINUTE) + :); System.out.println(cal.get(Calendar.SECOND); /将当前时间添加30分钟,然后显示日期和时间 cal.add(Calendar.MINUTE, 30); Date date = cal.getTime(); System.out.println(将当前时间添加30
11、分钟后的时间: + date); 日期格式化在显示日期的时候,可以使用很多格式,这时我们就可以借助java.text包中的DateFormat类及其子类进行调整 利用格式字符串进行调整 利用预设格式进行调整 示例演示数字格式化顺便来看看数字的格式化要格式化数字,可以使用NumberFormat类来实现 示例演示Random类Random类专门用来生成随机数;该类的构造方法有2种重载方式。构构 造造 方方 法法说说 明明Random()直接创建一个直接创建一个Random类对象类对象Random(long seed)使用使用seed作为随机种子创建一个作为随机种子创建一个Random类对象类对象
12、Random类的常用方法方方 法法 原原 型型说说 明明int nextInt()从随机数生成器返回下一个整型值从随机数生成器返回下一个整型值long nextLong()从随机数生成器返回下一个长整型值从随机数生成器返回下一个长整型值float nextFloat()从随机数生成器返回从随机数生成器返回0.0到到1.0之间的下一个浮点值之间的下一个浮点值double nextDouble()从随机数生成器返回从随机数生成器返回0.0到到1.0之间的下一个双精度值之间的下一个双精度值double nextGaussian()从随机数生成器返回下一个高斯分布的双精度值。中间值为从随机数生成器返回
13、下一个高斯分布的双精度值。中间值为0.0,而标准差为而标准差为1.0Random类示例public class RandomDemo public static void main(String args) /创建一个Random类对象 Random rand = new Random(); /随机生成20个随机整数,并将其显示出来 for (int i = 0; i 20; i+) int num = rand.nextInt(); System.out.println(第 + (i + 1) + 个随机数是: + num); 集合集合是将多个元素组成一个单元的对象;类似于数组,但数组最大的
14、缺点是:长度受到限制(一经创建,就不可再改变),并且只能存放相同数据类型的元素;集合的长度没有限制,可以存放任意多的元素,而且元素的数据类型也可以不同;集合还提供一系列操纵数据的方法,如存储、检索等等。集合框架的优点提供有用的数据结构和算法,从而减少编程工作;提高了程序速度和质量,因为它提供了高性能的数据结构和算法;允许不同 API 之间的相互操作,API之间可以来回传递集合;可以方便地扩展或改写集合。java.util包中的集合类为了满足不同场合的需要,java.util包中包含有一系列集合类;如:ArrayList类、LinkedList类、Vector类、HashMap类等等,接下来将逐
15、一进行介绍;集合类中只能存放对象,而不能存放原始数据类型的元素,所以当有原始数据类型需要存放时,只能将其转换成相应的包装类对象。ArrayList类ArrayList是长度可变的对象引用数组,称为动态数组;随着元素的添加,元素数目的增大,数组容量也会随之自动扩展;访问和遍历数组元素时,ArrayList的性能优越;ArrayList类继承了AbstractList类并实现了List接口。ArrayList类的构造方法ArrayList类的构造方法有3种重载方式。构构 造造 方方 法法说说 明明ArrayList()创建一个空的创建一个空的ArrayList对象对象ArrayList(Colle
16、ction c)根据指定的集合创建根据指定的集合创建ArrayList对象对象ArrayList(int initialCapacity )使用给定的大小创建使用给定的大小创建ArrayList对象对象ArrayList类的常用方法方方 法法 原原 型型说说 明明int size()返回返回ArrayList对象的大小,即元素的数量对象的大小,即元素的数量boolean isEmpty()判断判断ArrayList对象是否为空,为空返回对象是否为空,为空返回true,否则返回,否则返回falsevoid clear()清空清空ArrayList对象中的所有元素对象中的所有元素boolean a
17、dd(Object element)向向ArrayList对象中添加一个元素,该元素可以是任何类的对象中添加一个元素,该元素可以是任何类的对象对象Object remove(int index)从从ArrayList对象中删除指定索引位置的元素对象中删除指定索引位置的元素Object get(int index)返回指定索引位置的元素返回指定索引位置的元素Object set(int index, Object elem)将元素将元素elem存放到由存放到由index指定的索引位置上指定的索引位置上int indexOf(Object element)判断判断element在在ArrayLis
18、t对象中是否存在,存在返回对应的对象中是否存在,存在返回对应的索引,否则返回索引,否则返回-1ArrayList类示例1public class ArrayListDemo1 public static void main(String args) ArrayList al = new ArrayList(); /创建一个空ArrayList对象 for (int i = 0; i 10; i+) Integer num = new Integer(i); /创建整型包装类对象 al.add(num); /将该对象存放到ArrayList中 System.out.println(数组中的元素:
19、); for (int i = 0; i al.size(); i+) Integer temp = (Integer)(al.get(i); /获得ArrayList中索引为i的元素 System.out.println(temp); System.out.println(*); al.clear(); /清空 System.out.println(数组被清空后的情况:); System.out.println(数组长度为: + al.size(); if (al.isEmpty() /判断是否为空 System.out.println(数组现在为空。); else System.out.p
20、rintln(数组现在不为空。); ArrayList类示例2public class ArrayListDemo2 public static void main(String args) ArrayList al = new ArrayList(); /创建一个空的ArrayList对象 /往动态数组中添加元素 al.add(苹果); al.add(梨子); al.add(香蕉); al.add(西瓜); al.add(榴莲); System.out.println(目前数组的长度: + al.size(); for (int i = 0; i al.size(); i+) System.
21、out.println(String)(al.get(i); String str = new String(西瓜); int index = al.indexOf(str); /判断某个元素是否存在 if (index 0) System.out.println(str + 在数组中不存在。); else System.out.println(str + 存在,索引为: + index); al.remove(3); /删除某个索引位置的元素 System.out.println(删除索引为3的元素后的情况:); for (int i = 0; i al.size(); i+) System
22、.out.println(String)(al.get(i); 迭代器有的时候我们不太确定集合中到底有多少个元素,这个时候要想遍历集合,就可以使用迭代器 示例:IteratorDemo.javaLinkedList类LinkedList类用于创建链表数据结构;链表中元素的数量不受任何限制,可以随意地添加和删除;与ArrayList相比,如果需要频繁地添加和删除元素,LinkedList的性能更加优越;LinkedList类继承了AbstractSequentialList类,并实现了List接口;LinkedList类的构造方法LinkedList类的构造方法有2种重载方式。构构 造造 方方
23、法法说说 明明LinkedList()创建一个空链表创建一个空链表LinkedList(Collection c)根据指定的集合创建链表根据指定的集合创建链表LinkedList类的常用方法方方 法法 原原 型型说说 明明int size()返回链表的大小,即元素的数量返回链表的大小,即元素的数量boolean isEmpty()判断链表是否为空,为空返回判断链表是否为空,为空返回true,否则返回,否则返回falsevoid clear()清空链表中的所有元素,使其成为空链表清空链表中的所有元素,使其成为空链表boolean add(Object element)向链表中添加一个元素,该元素
24、可以是任何类的对象向链表中添加一个元素,该元素可以是任何类的对象Object remove(int index)从链表中删除指定索引位置的元素从链表中删除指定索引位置的元素Object get(int index)返回指定索引位置的元素返回指定索引位置的元素Object set(int index, Object elem)将元素将元素elem存放到由存放到由index指定的索引位置上指定的索引位置上int indexOf(Object element)判断判断element在链表中是否存在,存在返回对应的索引,否在链表中是否存在,存在返回对应的索引,否则返回则返回-1LinkedList类的
25、常用方法(续)方方 法法 原原 型型说说 明明void addFirst(Object element)将指定元素添加到链表的开始处将指定元素添加到链表的开始处void addLast(Object element)将指定元素添加到链表的结尾处将指定元素添加到链表的结尾处Object removeFirst()删除链表中的第一个元素删除链表中的第一个元素Object removeLast()删除链表中的最后一个元素删除链表中的最后一个元素Object getFirst()返回链表中的第一个元素返回链表中的第一个元素Object getLast()返回链表中的最后一个元素返回链表中的最后一个元素
26、LinkedList类示例public class LinkedListDemo public static void main(String args) LinkedList ll = new LinkedList(); /创建空的链表 for (int i = 1; i = 10; i+) Double temp = new Double(Math.sqrt(i); /创建包装类对象 ll.add(temp); /将包装类对象添加到链表中 System.out.println(链表中的元素:); /循环打印链表中的元素 for (int i = 0; i ll.size(); i+) Sy
27、stem.out.println(ll.get(i); System.out.println(*); ll.removeFirst(); /删除第一个元素 ll.removeLast(); /删除最后一个元素 System.out.println(删除第一个元素和最后一个元素后的链表:); for (int i = 0; i ll.size(); i+) System.out.println(ll.get(i); Vector类Vector类与ArrayList类和LinkedList类很相似,最大的区别在于Vector是线程同步的;如果在多线程的程序中要使用到集合框架,并且不希望线程与线程之
28、间相互干扰,那么Vector是不错的选择;Vector类继承于AbstractList类,并实现了List接口。Vector类的构造方法Vector类的构造方法有4种重载方式。构构 造造 方方 法法说说 明明Vector()创建一个空的创建一个空的Vector对象。初始容量为对象。初始容量为10,容量增量为,容量增量为0Vector(Collection c)根据指定的集合创建根据指定的集合创建Vector对象对象Vector(int initialCapacity)创建一个创建一个Vector对象,初始容量由对象,初始容量由initialCapacity指定,容量增指定,容量增量为量为0Ve
29、ctor(int initialCapacity, int capacityIncrement)创建一个创建一个Vector对象,初始容量由对象,初始容量由initialCapacity指定,容量增指定,容量增量由量由capacityIncrement指定指定Vector类的常用方法方方 法法 原原 型型说说 明明int size()返回返回Vector对象的大小,即元素的数量对象的大小,即元素的数量boolean isEmpty()判断判断Vector对象是否为空,为空返回对象是否为空,为空返回true,否则返回,否则返回falsevoid clear()清空清空Vector对象中的所有元素
30、对象中的所有元素boolean add(Object element)向向Vector对象中添加一个元素,该元素可以是任何类的对对象中添加一个元素,该元素可以是任何类的对象象Object remove(int index)从从Vector对象中删除指定索引位置的元素对象中删除指定索引位置的元素Object get(int index)返回指定索引位置的元素返回指定索引位置的元素Object set(int index, Object elem)将元素将元素elem存放到由存放到由index指定的索引位置上指定的索引位置上int indexOf(Object element)判断判断elemen
31、t在在Vector对象中是否存在,存在返回对应的索对象中是否存在,存在返回对应的索引,否则返回引,否则返回-1Vector类的常用方法(续)方方 法法 原原 型型说说 明明int capacity()返回返回Vector对象的容量,即可以存放元素的个数对象的容量,即可以存放元素的个数void addElement(Object element)将指定元素插入到将指定元素插入到Vector对象的末尾处对象的末尾处void insertElementAt(Object elem, int index)将指定元素插入到指定索引位置将指定元素插入到指定索引位置void setElementAt(Obj
32、ect elem, int index)将指定对象替换位于指定索引处的对象将指定对象替换位于指定索引处的对象Object ElementAt(int index)检索位于指定索引处的元素检索位于指定索引处的元素boolean contains(Object elem)如果如果Vector对象包含指定元素,返回对象包含指定元素,返回trueObject firstElement()返回返回Vector对象中的第一个元素对象中的第一个元素Object lastElement()返回返回Vector对象中的最后一个元素对象中的最后一个元素void removeAllElements()删除删除Vec
33、tor对象中的所有元素对象中的所有元素void copyInto(Object anArray)将将Vector对象中的元素复制到指定数组中对象中的元素复制到指定数组中void setSize(int newSize)根据根据newSize的值设置的值设置Vector对象的容量对象的容量Vector类示例public class VectorDemo public static void main(String args) Vector vec = new Vector(); /创建空的Vector /往Vector中添加元素 vec.addElement(Java); vec.addElem
34、ent(C#); vec.addElement(Oracle); vec.addElement(C+); vec.addElement(HTML); System.out.println(vec.toString(); /打印Vector中的元素 vec.removeElement(C+); /删除其中的元素 System.out.println(vec.toString(); HashMap类HashMap以键值对的形式存储元素;对于HashMap来说,不存在索引,也就是说不可以通过索引来访问元素,只能通过键去访问值,如要快速检索元素的话,HashMap性能优越;由于没有索引,所以HashM
35、ap中元素的存放是没有顺序的;HashMap类继承了AbstractMap类,并实现了Map接口。HashMap类的构造方法HashMap类的构造方法有4种重载方式。构构 造造 方方 法法说说 明明HashMap()创建一个空的创建一个空的HashMap对象对象HashMap(Map m)根据指定的根据指定的Map集合创建集合创建HashMap对象对象HashMap(int initialCapacity)创建一个指定容量和默认负载系数的创建一个指定容量和默认负载系数的HashMap对象对象HashMap(int initialCapacity, float loadFactor)创建一个指定
36、容量和指定负载系数的创建一个指定容量和指定负载系数的HashMap对象对象HashMap类的常用方法方方 法法 原原 型型说说 明明int size()返回返回HashMap对象的大小,即元素的个数对象的大小,即元素的个数boolean isEmpty()判断判断HashMap对象是否为空,为空返回对象是否为空,为空返回true,否则返,否则返回回falsevoid clear()清空清空HashMap对象中的所有元素对象中的所有元素Object put(Object key, Object value)向向HashMap对象中添加一个元素,必须指定该元素的对象中添加一个元素,必须指定该元素的键和值键和值Object remove(Object key)通过键对象删除相对应的值对象通过键对象删除相对应的值对象Object get(Object key)通过键对象查找相对应的值对象通过键对象查找相对应的值对象boolean containsKey(Object key)查找指定的键对象在查找指定
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度材料性能测试加工服务合同签订须知4篇
- 2025年度船舶餐饮服务船员聘用合同范本3篇
- 2025年度二零二五版智能家居系统集成劳务分包施工合同2篇
- 二零二五版美容美发行业员工劳动合同保密合同4篇
- 2025年度个人购房贷款贷款还款保证合同3篇
- 二零二五年度消防设备维修与保养合同2篇
- 2025年度个人房产分割转让合同范本2篇
- 2025年度专业运输车辆司机派遣及保险合同4篇
- 2025年度大型活动临时食堂租赁承包合同范本2篇
- 2025二手房买卖合同正式版
- 山东铁投集团招聘笔试冲刺题2025
- 真需求-打开商业世界的万能钥匙
- 2025年天津市政集团公司招聘笔试参考题库含答案解析
- GB/T 44953-2024雷电灾害调查技术规范
- 2024-2025学年度第一学期三年级语文寒假作业第三天
- 2024年列车员技能竞赛理论考试题库500题(含答案)
- 心律失常介入治疗
- 《无人机测绘技术》项目3任务2无人机正射影像数据处理
- 6S精益实战手册
- 展会场馆保洁管理服务方案
- 监理从业水平培训课件
评论
0/150
提交评论