nullJAVASE JAVASE 第8章
java.utils包中的常用类 本章学习目标 本章学习目标
掌握Vector类
运用类Date、Calendar编写Java程序
运用类Random编写Java程序
运用Collection类和接口编写Java程序
Date类Date类Date类对象用来
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示时间和日期。
提供了一系列操作时间和日期的各组成部分的方法。
Date类最多的用途是获取当前的时间和日期。Date类的构造方法Date类的构造方法Date类的常用方法Date类的常用方法import java.util.Date;
public class DateDemo {
public static void main(String[] args) {
Date dateObj = new Date();
System.out.println ("今天的日期是"+ dateObj);
long from70 = dateObj.getTime();
System.out.println (“从70年1月1日至今共经历了"+from70+"毫秒");
//CST:Chinese Standard Time中国
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
时间
String dateStr = dateObj.toString();
String dateChina = dateObj.toLocaleString();
System.out.println (dateStr);
System.out.println ("北京时间:"+dateChina);
//提取时间
String timeStr1 = dateStr.substring(11,(dateStr.length()-8));
System.out.println ("时间部分:"+timeStr1);
}
}
Calendar类Calendar类import java.util.Calendar;
import java.util.Date;
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) + "月");
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分钟后的时间:" + date);
}
}Random类Random类用于生成随机数。
需要以任意或非系统方式生成数字时使用此类。
Random类有两种构造方法:
带参构造方法
不带参构造方法
Random类常用方法Random类常用方法import java.util.Random;
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);
}
}
}集合类集合类集合是将多个元素组成一个单元的对象。
集合框架就是一个用来表示和操作集合的统一的架构,包含了实现集合的接口与类。
集合框架优点:
提供有用的数据结构和算法,从而减少编程工作;
提高了程序速度和质量,因为它提供了高性能的数据结构和算法;
允许不同 API 之间的相互操作,API之间可以来回传递集合;
可以方便地扩展或改写集合。集合类的数据存放集合类的数据存放 集合类不是引用类型,拒绝存放!注:jdk1.5后,原始数据类型可以存放到集合类中,并不是说集合类允许存放,而是java虚拟机自动完成了相应包装类对象的转换。ArrayList类-1ArrayList类-1ArrayList对象是长度可变的对象引用数组,用于创建动态数组
扩展自AbstractList并实现List接口。
List是有序的集合,可以包含重复的元素。
随着元素的增加,分配一个更大的数组,将原来的数组拷贝到新数组中。
访问和遍历数组元素时,ArrayList的性能优越。ArrayList类-2ArrayList类-2ArrayList 类-3ArrayList 类-3import java.util.ArrayList;
public class ArrayListDemo{
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.out.print((String)(al.get(i))+" ");
}
System.out.println ();
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.out.print((String)(al.get(i)+" "));
}
System.out.println ();
System.out.println("*********************************");
al.clear();
System.out.println("数组被清空后的情况:");
System.out.println("数组长度为:" + al.size());
if (al.isEmpty()) {
System.out.println("数组现在为空。");
}
else {
System.out.println("数组现在不为空。");
}
}
}LinkedList类-1LinkedList类-1LinkedList类用于创建链表数据结构对象。
扩展自AbstractSequentialList并实现List接口。
有助于按顺序访问元素。
LinkedList类的构造方法如下:
LinkedList类-2LinkedList类-2LinkedList类-3LinkedList类-3import java.util.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++) {
System.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类-1Vector类-1Vector类与ArrayList类和LinkedList类很相似可以存放一定数量的元素线程同步,线程之间互不干扰Vector类-构造方法Vector类-构造方法Vector类—示例Vector类—示例 import java.util.Vector;
public class VectorDemo
{
public static void main(String[] args)
{
Vector vec = new Vector(); //创建空的Vector
vec.addElement("Java"); //往Vector中添加元素
vec.addElement("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类—构造方法HashMap类—常用方法HashMap类—常用方法HashMap类—示例HashMap类—示例import java.util.HashMap;
public class HashDemo {
public static void main(String[] args) {
HashMap hm = new HashMap(); //创建空的HashMap
//往HashMap中添加元素
hm.put("93-07", "张三");
hm.put("84-12", "李四");
hm.put("102-20", "王五");
hm.put("91-04", "郑六");
hm.put("111-17", "田七");
System.out.println(hm.toString());
//通过键对象查找值对象
System.out.println("学号91-04的学生是" + hm.get("91-04"));
System.out.println("学号84-12的学生是" + hm.get("84-12"));
hm.remove("93-07"); //通过键对象删除元素
System.out.println("删除学号84-12的学生后");
System.out.println(hm.toString());
}
}Collections类Collections类 包含在集合类上操作的众多算法操作,这些算法方法全部为静态方法不需要实例化Collections类可以直接使用。
特点:
排序:Collections.sort(List list),list中元素对象一定要已定义自然排序(natural ordering) 规则。
取最大和最小的元素:Collections.max(Collection coll)、Collections.min(Collection coll))。
在已排序的List中搜索指定的元素:Collectons.binarySearch()。
nullimport java.util.*;
public class AlgorithmExample {
public static void main(String args[]) {
LinkedList link = new LinkedList(); //创建列表
link.add(new Integer(10)); //初始化
link.add(new Integer(35)); //初始化
link.add(new Integer(23)); //初始化
link.add(new Integer(54)); //初始化
link.add(new Integer(36)); //初始化
Comparator cmp = Collections.reverseOrder(); //得到逆序排序的比较器
Collections.sort(link,cmp);
Iterator it = link.iterator();
System.out.println("逆序排序的列表为: ");
while (it.hasNext()) {
System.out.println(it.next());
}
System.out.println("给定列表中的最大值为:"+Collections.max(link));
System.out.println("给定列表中的最小值为:"+Collections.min(link));
}
}本章总结本章总结Date类的对象表示当前日期和时间。
Calendar类的对象可以以整型(如YEAR和MONTH等)的形式检索信息。
可以使用Random类的对象生成随机数。
Collection类的对象将多个元素组成一个单元。