您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 北大青鸟 java教程 (7)
ACCPV4.0第七章java.util包ACCPV4.02回顾java.lang包将自动导入到每个Java程序String、StringBuffer类的使用Math、Object、Class类的使用ACCPV4.03本章目标运用下列类进行JAVA编程:DateCalendarRandom使用Collection接口及其实现类ArrayListLinkedList使用HashMap使用VectorACCPV4.04Date类Date类表示日期和时间提供操纵日期和时间各组成部分的方法Date类的最佳应用之一是获取系统当前时间ACCPV4.05Date类构造方法构造方法说明Date()使用当天的日期创建DateDate(longdt)使用自1970年1月1日以后的指定毫秒数创建Date演示:示例1voiddisplay(){StringstrDate,strTime=;System.out.println(“今天的日期是:+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()方法从Date对象获取时间ACCPV4.06Calendar类根据给定的Date对象,Calendar类可以以YEAR和MONTH等整型的形式检索信息它是抽象的,因此不能像Date类一样实例化GregorianCalendar:是Calendar的子类,实现Gregorian形式的日历演示:示例2CalendarComponents(){objCalendar=Calendar.getInstance();}使用getInstance()方法获取Calendar类的实例voiddisplay(){//显示Date和Time的组成部分System.out.println(“\nDate和Time的组成部分:);System.out.println(“月:+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));//向当前时间添加30分钟,//然后显示日期和时间objCalendar.add(Calendar.MINUTE,30);DateobjDate=objCalendar.getTime();System.out.println(“\n向当前时间添加30分钟后的日期和时间:\n);System.out.println(objDate);}Calendar类定义某些用于获取或设置Calendar组成部分的整型ACCPV4.07Random类此类生成随机数两种构造方法Random类的方法:nextInt()nextFloat()nextDouble()使用种子值作为参数没有参数类的构造方法ACCPV4.08Collection接口2-1Collection对象是将多个元素组成一个单元的对象集合用于存储、检索和操纵数据集合框架是用于表示和操纵集合的统一体系结构ACCPV4.09Collection接口2-2接口是表示集合的抽象数据类型算法是对实现接口的对象执行计算的方法实现是接口的实际实现集合框架包含三个组件ACCPV4.010集合框架的优点提供有用的数据结构和算法,从而减少编程工作提高了程序速度和质量,因为它提供了高性能的数据结构和算法允许不同API之间的互操作,API之间可以来回传递集合可以方便地扩展或改写集合ACCPV4.011ArrayList2-1ArrayList对象是长度可变的对象引用数组,类似于动态数组继承AbstractList并实现List接口随着元素的添加,元素的数目会增加,列表也会随着扩展访问和遍历对象时,它提供更好的性能125ACCPV4.012ArrayList2-2演示:示例4ArrayList类的构造方法包括:构造方法说明ArrayList()创建一个空ArraylistArrayList(Collectionc)根据给定集合的元素创建数组列表ArrayList(intsize)使用给定大小创建一个数组列表。向数组列表添加元素时,此大小自动增加PlayersList(){playerArray=newArrayList();subListObj=newArrayList();}初始化两个ArrayList对象voidadd(){for(intctr=0;ctr5;ctr++){playerArray.add(newInteger(ctr));}playerArray.add(Martina);playerArray.add(Serena);playerArray.add(Venus);playerArray.add(Serena);System.out.println();}ArrayList可以存储不同类型的对象,而数组则只能存放特定数据类型的值voiddisplay(){System.out.println(**********************+****************);System.out.println(“从ArrayList中检索对象);System.out.println(*******************+*******************);System.out.println();for(intctr=0;ctrplayerArray.size();ctr++){System.out.print(+playerArray.get(ctr));}显示ArrayList的内容voidsearch(){System.out.println();System.out.println(************************************+***********************);System.out.println(“搜索一个对象并返回“0+“第一个和最后一个位置);System.out.println(*********************************+***************************);System.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=playerArray.subList(5,playerArray.size());System.out.println(“索引5至+playerArray.size()+“的新子列表为:+subListObj);System.out.println();}ACCPV4.013LinkedList2-1LinkedList类用于创建链表数据结构继承AbstractSequentialList并实现List接口LinkedList类的构造方法包括:构造方法说明LinkedList()创建一个空链表LinkedList(Collectionc)根据给定集合的元素创建链表ACCPV4.014LinkedList2-2使用LinkedList的好处在于它具有访问、检索和删除数据的方法添加或移除对象时,LinkedList的表现更佳演示:示例5QueueTest(){starListObj=newLinkedList();}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(intcnt=0;cnt4;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{returnstarListObj.removeFirst();}ACCPV4.015HashMap2-1实现了Map接口用于存储键/值映射关系不能保证其元素的存储顺序ACCPV4.016HashMap2-2此类的构造方法包括:它在存放键/值时允许值为null值比如:java.util.HashMapmap=newjava.util.HashMap();map.put(name,null);构造方法说明HashMap()创建一个具有默认容量和负载系数的空映射HashMap(intsize)创建一个具有指定大小的容量和默认负载系数的空映射HashMap(intsize,floatload)创建一个具有指定的容量和指定的负载系数的空映射HashMap(Mapmap)创建一个具有指定map映射的散列映射ACCPV4.017Vector类3-1它具有类似数组的数据结构,而且是动态的可以存放一定数量的元素容量可以递增Vector类ACCPV4.018Vect
本文标题:北大青鸟 java教程 (7)
链接地址:https://www.777doc.com/doc-3350705 .html