1、常用系统类2 回顾 java lang包将自动导入到每个Java程序String StringBuffer类的使用Math Object Class类的使用 本章目标 运用下列类进行JAVA编程 DateCalendarRandom使用Collection接口及其实现类ArrayListLinkedList使用HashMap使用Vector Date类 Date类表示日期和时间提供操纵日期和时间各组成部分的方法Date类的最佳应用之一是获取系统当前时间 Date类构造方法 演示 示例1 voiddisplay StringstrDate strTime System out println 今
2、天的日期是 objDate longtime objDate getTime System out println 自1970年1月1日起 以毫秒为单位的时间 GMT time strDate objDate toString 提取GMT时间strTime strDate substring 11 strDate length 4 按小时 分钟和秒提取时间strTime 时间 strTime substring 0 8 System out println strTime Date对象用于输出日期 DateTimeDisplay objDate newDate 使用getTime 方法从Dat
3、e对象获取时间 Calendar类 根据给定的Date对象 Calendar类可以以YEAR和MONTH等整型的形式检索信息它是抽象的 因此不能像Date类一样实例化GregorianCalendar 是Calendar的子类 实现Gregorian形式的日历 演示 示例2 CalendarComponents objCalendar Calendar getInstance 使用getInstance 方法获取Calendar类的实例 voiddisplay 显示Date和Time的组成部分System out println nDate和Time的组成部分 System out print
4、ln 月 objCalendar get Calendar MONTH System out println 日 objCalendar get Calendar DATE System out println 年 objCalendar get Calendar YEAR System out println 小时 objCalendar get Calendar HOUR System out println 分钟 objCalendar get Calendar MINUTE System out println 秒 objCalendar get Calendar SECOND 向当前
5、时间添加30分钟 然后显示日期和时间objCalendar add Calendar MINUTE 30 DateobjDate objCalendar getTime System out println n向当前时间添加30分钟后的日期和时间 n System out println objDate Calendar类定义某些用于获取或设置Calendar组成部分的整型 Random类 此类生成随机数两种构造方法Random类的方法 nextInt nextFloat nextDouble Collection接口2 1 Collection对象是将多个元素组成一个单元的对象集合用于存储
6、检索和操纵数据集合框架是用于表示和操纵集合的统一体系结构 Collection接口2 2 集合框架包含三个组件 集合框架的优点 提供有用的数据结构和算法 从而减少编程工作提高了程序速度和质量 因为它提供了高性能的数据结构和算法允许不同API之间的互操作 API之间可以来回传递集合可以方便地扩展或改写集合 ArrayList2 1 ArrayList对象是长度可变的对象引用数组 类似于动态数组继承AbstractList并实现List接口随着元素的添加 元素的数目会增加 列表也会随着扩展访问和遍历对象时 它提供更好的性能 1 25 ArrayList2 2 演示 示例4 ArrayList类的构
7、造方法包括 PlayersList playerArray newArrayList subListObj newArrayList 初始化两个ArrayList对象 voidadd for intctr 0 ctr 5 ctr playerArray add newInteger ctr playerArray add Martina playerArray add Serena playerArray add Venus playerArray add Serena System out println ArrayList可以存储不同类型的对象 而数组则只能存放特定数据类型的值 voidd
8、isplay System out println System out println 从ArrayList中检索对象 System out println System out println for intctr 0 ctr playerArray size ctr System out print playerArray get ctr 显示ArrayList的内容 voidsearch System out println System out println System out println 搜索一个对象并返回 0 第一个和最后一个位置 System out println S
9、ystem out println System out println 字符串 Serena 第一次出现在位置是 playerArray indexOf Serena System out println 字符串 Serena 最后一次出现在位置是 playerArray lastIndexOf Serena System out println voidextract System out println System out println 提取一个子列表 然后输出新列表 System out println System out println subListObj playerArr
10、ay subList 5 playerArray size System out println 索引5至 playerArray size 的新子列表为 subListObj System out println LinkedList2 1 LinkedList类用于创建链表数据结构继承AbstractSequentialList并实现List接口LinkedList类的构造方法包括 LinkedList2 2 使用LinkedList的好处在于它具有访问 检索和删除数据的方法添加或移除对象时 LinkedList的表现更佳 演示 示例5 QueueTest starListObj newL
11、inkedList LinkedList对象被初始化 voidtest System out println 在队列中添加数据对象 enqueue newString MartinaNavratilova enqueue newString SerenaWilliams enqueue newString VenusWilliams enqueue newString SteffiGraff System out println n此队列包含 System out println n starListObj System out println n从队列中删除数据对象 try for intc
12、nt 0 cnt 4 cnt System out println 出队 dequeue System out println n此队列包含 System out println n starListObj catch Exceptionex System out println 错误为 ex 使用队列先进先出的概念将对象添加到LinkedList中 publicvoidenqueue Objectobj starListObj addLast obj 使用队列先进先出的概念从LinkedList移除对象 publicObjectdequeue throwsException returnst
13、arListObj removeFirst HashMap2 1 实现了Map接口用于存储键 值映射关系不能保证其元素的存储顺序 HashMap2 2 此类的构造方法包括 它在存放键 值时允许值为null值比如 java util HashMapmap newjava util HashMap map put name null Vector类3 1 Vector类3 2 常用方法 常用方法 Vector类3 3 原始数据类型不能添加到Vector中 演示 示例6 PreciousStones preciousVector newVector 创建一个Vector类的对象 voidadd pr
14、eciousVector addElement 翡翠 preciousVector addElement 黄晶 preciousVector addElement 绿宝石 preciousVector addElement 祖母绿 使用addElement 方法将元素添加到Vector类的对象中 voidinsert preciousVector insertElementAt 钻石 0 preciousVector insertElementAt 猫眼石 4 使用insertElementAt 方法将元素插入Vector类的对象 voidsearch System out println S
15、ystem out println 搜索内容 System out println StringsearchStone 钻石 if preciousVector contains searchStone System out println 在索引 preciousVector indexOf searchStone 处找到 searchStone voidotherDetails System out println n第一个元素 preciousVector firstElement System out println 默认容量 preciousVector capacity System out println 最后一个元素 preciousVector lastElement 使用indexOf 方法搜索特定元素 firstElement capacity 和lastElement 等其他方法的用法 总结 Date类的对象表示当前日期和时间Calendar类的对象可以以整型 如YEAR和MONTH等 的形式检索信息可以使用Random类的对象生成随机数Collection类的对象将多个元素组成一个单元使用ArrayList LinkedList HashMap Vector进行Java编程