java类库和常用类简介.ppt_第1页
java类库和常用类简介.ppt_第2页
java类库和常用类简介.ppt_第3页
java类库和常用类简介.ppt_第4页
java类库和常用类简介.ppt_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

java类库和常用类简介,类库简介Java语言基础类库String类和StringBuffer类常用工具类库,类库简介,java.lang它是由编译器自动引入的,包括:Object类,数据包装类,数学类,异常处理类,线程类,字符串处理类,系统及运行类,类操作类等;java.applet用于创建小程序;java.awt用于创建图形用户界面;java.io输入输出流网络包,用于网络通讯java.util实用程序包,提供许多不同功能的类,如日期时间类,矢量类,数据结构类等,Java中的Math类,Math类数学类包含了许多数学函数,如sin、cos、exp、abs等。Math类是一个工具类,它在解决与数学有关的一些问题是有着非常重要的作用。这个类有两个静态属性:E和PI。E代表数学中的e2.7182818,而PI代表派pi3.1415926。引用时,用法如:Math.E和Math.Pi,Java中的Math类,这个类的方法有:publicstaticintabs(inta)publicstaticlongabs(longa)publicstaticfloatabs(floata)publicstaticdoubleabs(doublea)abs方法用来求绝对值。,Java中的Math类,publicstaticnativedoublesin(doublea)sin求正弦函数。publicstaticnativedoubletan(doublea)tan求正切函数。atan求反正切函数。publicstaticnativedoublecos(doublea)cos求余弦函数。,Java中的Math类,publicstaticnativedoubleceil(doublea)ceil返回最小的大于a的整数。(天花板)publicstaticnativedoubleexp(doublea)exp求e的a次幂。publicstaticnativedoublefloor(doublea)floor返回最大的小于a的整数。publicstaticnativedoublelog(doublea)log返回lna。,Java中的Math类,publicstaticnativedoublepow(doublea,doubleb)pow求a的b次幂。publicstaticnativedoublesqrt(doublea)sqrt求a的开平方。publicstaticsynchronizeddoublerandom()返回0到1之间的随机数。publicstaticround(doubled)publicstaticround(floatf)取整,四舍五入,Java中的Math类,publicclassMathDemopublicstaticvoidmain(Stringargs)System.out.println(Math.ceil(3.45);System.out.println(Math.floor(3.55);System.out.println(Math.round(3.35);System.out.println(Math.round(3.5);System.out.println(Math.random();,随机数类java.util.Random,Random()创建一个新的随机数生成器。Random(longseed)使用单个long种子创建一个新的随机数生成器。,随机数类java.util.Random,nextDouble()返回下一个伪随机数,它是取自此随机数生成器序列的、在0.0和1.0之间均匀分布的double值。nextFloat()返回下一个伪随机数,它是取自此随机数生成器序列的、在0.0和1.0之间均匀分布的float值,随机数类java.util.Random,nextInt()返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的int值。nextInt(intn)返回一个伪随机数,它是取自此随机数生成器序列的、在0(包括)和指定值(不包括)之间均匀分布的int值。,String类和StringBuffer类,字符串是字符的序列,它是组织字符的基本数据结构,从某种程度上来说有些类似于字符的数组。在Java中,字符串被当作对象来处理。程序中需要用到的字符串可以分为两大类,一类是创建之后不会再做修改和变动的字符串常量;另一类是创建之后允许再做更改和变化的字符串变量。对于字符串常量,由于程序中经常需要对它做比较,搜索之类的操作,所以通常把它放在一个具有一定名称的对象之中,由程序对该对象完成上述操作。在Java中,存放字符串常量的对象用String类,对于字符串变量,由于程序中经常需要对它做添加,插入,修改等操作,一般存放在StringBuffer类的对象中。,字符串String,字符串常量使用双引号括住的一串字符,比如:Helloworld!Java编译器自动为每一个字符串常量生成一个String类的实例,因此可以用字符串常量直接初始化一个String对象,如:Strings=Helloworld!;,要创建类String的一个对象并进行初始化,需要调用类String的构造方法。类String中提供了下面的一些构造方法:String():无参数的缺省的构造方法用来创建一个空串。Strings=newString();String(Stringvalue):利用已经存在的字符串常量创建一个新的String对象,该对象的内容与给出的字符串常量一致。Strings=newString(“hello”);String(charvalue):通过给构造方法传递一个字符数组可以创建一个非空串。charchars=a,b,c;Strings=newString(chars);,3、字符串String:创建,String(char,intstartIndex,intnumChars):这种方法用来创建一个非空串,并且指明所创建的字符串在字符数组中的起始地址以及所包含的字符个数。charchars=a,b,c,d,e,f;Strings=newString(chars,2,3);该方法生成的串s为“cde”。(注意数组的下标从0开始),3、字符串String:创建,String(bytemybyte,bytehibyte):因为在Internet上,格式采用八位的ASCII码,所以Java的类String提供了从byte型数组进行初始化的构造方法。其中hibyte指明各字符的高位字节,对于通常所用的ASCII码,必须将高位字节声明为零,而其他的非拉丁文字符则置为非零。bytemybyte=97,98,99;Strings=newString(mybyte,0);该方法构造的字符串s是“abc”。,3、字符串String:创建,String(bytemybyte,bytehibyte,intstartIndex,intnumChars):这种构造方法与String(char,intstartIndex,intnumChars)类似,只是初始化的数组类型不同。bytemybyte=80,81,82,83,84,85;Strings=newString(mybyte,0,2,3);该方法构造的字符串s是“RST”。String(StringBufferbuffer):这个构造函数利用一个已经存在的StringBuffer对象为新建的String对象初始化。,3、字符串String:创建,1.lengthpublicintlength()此方法返回字符串的字符个数,如:Strings=abc;System.out.println(s.length();则将显示字符个数为3。,3、字符串String:基本方法,2.charAtpubliccharcharAt(intindex)该方法返回字符串中index位置上的字符,其中index值的范围是0length-1。3.getChars如果要从字符串中提取一个以上的字符,则可以用此方法:publicvoidgetchars(intsrcbegin,intend,charbuf,intdstbegin)其中,srcbegin为要提取的第一个字符在源串中的位置,end为要提取的最后一个字符在源串中的位置,字符数组buf存放目的字符串,dstbegin为提取的字符串在目的串中的起始位置。,3、字符串String:基本方法,4.getbytespublicvoidgetbytes(intsrcbegin,intend,bytebyt,intdstbegin)类似于上一个方法,只是串中的字符均用8位表示,参数及用法同上。5.indexOf和lastIndexOf为了在给定的字符串中检索特定的字符或子串,类String提供了上面两种方法,并通过方法重写更方便的处理这类问题。这两种方法中,如果查找成功,则返回匹配成功的字符的位置,如果没有查找到,则都返回-1。intindexOf(intch)intlastIndexOf(intch)返回字符ch在字符串中出现的第一个和最后一个位置。,3、字符串String:基本方法,intindexOf(Stringstr)intlastindexOf(Stringstr)返回子串str中第一个字符在字符串中出现的始末位置。intindexOf(intch,intfromIndex)intlastIndexOf(intch,intfromIndex)返回字符ch在字符串中位置fromIndex以后出现的始末位置。intindexOf(Stringstr,intfromIndex)intlastIndexOf(Stringstr,intfromIndex)返回子串str中的第一个字符在字符串中位置fromIndex以后出现的始末位置。,3、字符串String:基本方法,6.在Java中,运算符“”可以用来实现字符串的连接,如:Strings=“Heis”+age+“yearsold.”假设整数型变量age的值为15,那么,s的值为“Heis15yearsOld”。pareTopublicintcompareTo(Stringstr)该方法按字典次序比较两个字符串的大小,如果源串较小,则返回一个小于0的值,如相等则返回0,否则返回一个大于0的值。,3、字符串String:基本方法,8.regionMatchesbooleanregionMatches(inttoffset,Stringother,intooffset,intlen)booleanregionMatches(booleanignoreCase,inttoffset,Stringother,intooffset,intlen)上述两个方法都是用来进行模式匹配的,匹配成功则返回true,否则返回false。其中,toffset和ooffset分别指明当前字符串和参数字符串中所要比较的子串的起始索引位置,len指明比较的长度,而ignoreCase指明比较时是否区分大小写。对于第一种方法,比较是区分大小写的。Strings1=“tsinghua”Strings2=“itisTsingHua”;s1.regionMatches(0,s2,6,7);,3、字符串String:基本方法,9.equals和equalsIgnoreCasepublicbooleanequals(objectstr)publicbooleanequalsIgnoreCase(objectstr)判断两个字符串是否相等,则可以用此方法。相等则返回true,不等则返回false,两种方法的区别在于equalsIgnoreCase不区分字母大小写,而equals则须区分。10.其他方法publicStringconcat(Stringstr);将当前字符串对象与给定的字符串str连接起来。,3、字符串String:基本方法,publicStringreplace(charoldChar,charnewChar)将串中出现的特定字符用新的字符代替。publicStringsubstring(intbeginIndex)publicStringsubstring(intbeginIndex,intendIndex)用来得到字符串中指定范围内的子串。publicStringtoLowerCase()把串中的所有字符转换成小写publicStringtoUpperCase()把串中的所有字符转换成大写,3、字符串String:基本方法,示例1:加密解密算法,publicclassStringdemopublicStringjiami(Stringstr)Stringresult=;intlength=str.length();charc=newcharlength;for(inti=0;istr.length();i+)ci=(char)(str.charAt(i)+i);returnnewString(c);,示例,密码加密,publicStringjiemi(Stringstr)Stringresult=;intlength=str.length();charc=newcharlength;for(inti=0;istr.length();i+)ci=(char)(str.charAt(i)-i);returnnewString(c);,示例,密码加密,publicstaticvoidmain(Stringargs)Stringdemos=newStringdemo();Stringstr=1234567890abcdefghijklmnopqrstuvwxyz;System.out.println(加密前+str);Stringafterjiami=s.jiami(1234567890abcdefghijklmnopqrstuvwxyz);System.out.println(加密后+afterjiami);Stringafterjiemi=s.jiemi(afterjiami);System.out.println(解密后+afterjiemi);,示例2:字符串分割,publicclassSplit_testpublicstaticvoidmain(Stringargs)Stringstr=2010-06-01-19-56;Stringstr_split=str.split(“-”);/以“-”为标志将字符串拆分/循环打印字符数组元素for(inti=0;ijavademoOfStringBufferbuffer=abclength=3capacity=19,2.appendpublicsynchronizedStringBufferappend(对象类型对象名)append方法将指定的参数对象转化成字符串,附加在原来的字符串对象之后。3.insertpublicsynchronizedStringBufferinsert(int插入位置,对象类型对象名)在指定的位置插入给出的参数对象所转化而得的字符串。,3、字符串StringBuffer:基本方法,4.setChatAt()publicsynchronizedvoidsetCharAt(intindex,charch)用来设置指定索引index位置的字符值。5.setLengthpublicsynchronizedvoidsetLength(intnewLength)如果希望明确地定义字符缓冲区的长度,则可以用此方法。如果newlength大于现在的长度,串尾将补0,如果小于,那么newlength后的字符将丢失。,3、字符串StringBuffer:基本方法,用StringBuffer修改加密解密,加密算法publicStringjiami(Stringstr)StringBufferresult=newStringBuffer();for(inti=0;istr.length();i+)/得到字符直接追加到resultresult.append(char)(str.charAt(i)+i);returnresult.toString();,与日期和时间有关的类,Java语言的Calendar(日历),Date(日期),和DateFormat(日期格式)组成了Java标准的一个基本但是非常重要的部分。日期是商业逻辑计算一个关键的部分。所有的开发者都应该能够计算未来的日期,定制日期的显示格式,并将文本数据解析成日期对象。,与日期和时间有关的类,创建一个日期对象让我们看一个使用系统的当前日期和时间创建一个日期对象并返回一个长整数。这个时间通常被称为Java虚拟机(JVM)主机环境的系统时间。,与日期和时间有关的类,Datedate=newDate();我们使用了Date构造函数创建一个日期对象,这个构造函数没有接受任何参数,而这个构造函数在内部使用了System.currentTimeMillis()方法来从系统获取日期。,与日期和时间有关的类,日期数据的定制格式Date类java.text.DateFormat与java.text.SimpleDateFormat子类SimpleDateFormat是DateFormat的子类,DateFormat是抽象类。,与日期和时间有关的类,SimpleDateFormat():用默认的模式和默认语言环境的日期格式符号构造SimpleDateFormat。SimpleDateFormat(Stringpattern):用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat。SimpleDateFormat类常用成员方法如下:Stringformat(Datedate):将一个Date格式化为日期/时间字符串。Dateparse(Stringsource):从给定字符串的开始分析文本,以生成一个日期。,与日期和时间有关的类,StringwriterDate=newSimpleDateFormat(yyyy-MM-ddHH:mm:ss).format(newDate();SimpleDateFormatsdf=newSimpleDateFormat(yyyy年MM月dd日EEEHH:mm:ss);格式“yyyy年MM月dd日EEEHH:mm:ss”其中EEE表示“星期”,与日期和时间有关的类,SimpleDateFormat类的作用是设置好某种格式:SimpleDateFormatsdf=newSimpleDateFormat(yyyy-MM-dd);将字符串转换为日期:Datedt=sdf.parse(2007-04-30);将日期转换为字符串:Stringstr=sdf.format(dt);,实例,publicclassDateTestpublicstaticvoidmain(Stringargs)Datedate=newDate();/根据当前系统事件生成Date对象SimpleDateFormatsdf=newSimpleDateFormat(yyyy年MM月dd日EEEHH:mm:ss);Stringdate_str=date.toString();Stringdate_format=sdf.format(date);/根据规定的格式格式化Date对象System.out.println(date_str);System.out.println(date_format);,与日期和时间有关的类,Calendar日历类是一个抽象类,主要用于日期字段之间相互操作,设置和获取日期数据的特定部分。Calendar类的set()和get()方法可以用来设置和读取日期的特定部分,比如年、月、日、分和秒等。我们可以使用Calendar.getInstance()方法获取Calendar类实例或调用它的子类GregorianCalendar的构造方法。GregorianCalendar采用格林尼治标准时间。,与日期和时间有关的类,GregorianCalendar类常用构造方法如下:(1)GregorianCalendar():在具有默认语言环境的默认时区内使用当前时间构造一个默认的GregorianCalendar。(2)GregorianCalendar(intyear,intmonth,intdayOfMonth):在具有默认语言环境的默认时区内构造一个带有给定日期设置的GregorianCalendar。(3)GregorianCalendar(intyear,intmonth,intdayOfMonth,inthourOfDay,intminute):为具有默认语言环境的默认时区构造一个具有给定日期和时间设置的GregorianCalendar。(4)GregorianCalendar(intyear,intmonth,intdayOfMonth,inthourOfDay,intminute,intsecond):为具有默认语言环境的默认时区构造一个具有给定日期和时间设置的GregorianCalendar。,与日期和时间有关的类,GregorianCalendar类常用方法如下:(1)voidadd(intfield,intamount):根据日历规则,将指定的(有符号的)时间量添加到给定的日历字段中。field指对哪个日期域进行操作,如DATE。(2)DategetTime():返回一个表示此Calendar时间值(从历元至现在的毫秒偏移量)的Date对象。(3)voidset(intfield,intvalue):将给定的日历字段设为给定值。(4)voidgett(intfield,intvalue):返回给定的日历字段值。(5)voidsetTime(Datedate):使用给定的Date设置此Calendar的时间。(6)longgetTimeInMillis():返回此Calendar的时间值,以毫秒为单位。,实例;,importjava.util.Calendar;importjava.util.GregorianCalendar;importjava.text.SimpleDateFormat;importjava.util.Date;publicclassCalendardemopublicstaticvoidmain(Stringargs)Calendarcal=newGregorianCalendar();System.out.println(当前格林尼治时间-+cal.getTime();System.out.print(年:+cal.get(Calendar.YEAR);System.out.print(月:+cal.get(Calendar.MONTH);System.out.print(日:+cal.get(Calendar.DATE);/Calendar类中星期日Calendar.SUNDAT是1System.out.print(星期:+(cal.get(Calendar.DAY_OF_WEEK);System.out.print(小时:+cal.get(Calendar.HOUR_OF_DAY);System.out.print(分:+cal.get(Calendar.MINUTE);System.out.println(秒:+cal.get(Calendar.SECOND);Datedate=cal.getTime();SimpleDateFormatsdf=newSimpleDateFormat(yyyy年MM月dd日EEEHH:mm:ss);Stringdate_format=sdf.format(date);System.out.println(今天是:+date_format);cal.set(Calendar.DATE,1);cal.add(Calendar.HOUR,4);System.out.println(修改后的时间为:+cal.getTime();System.out.println(修改后的时间为:+sdf.format(cal.getTime();,包装类,对于java中的基本数据类型如long,int等等都有一个对应的数据类型类,将它们包装成一个对象,并提供一些操作它们的方法.,包装类,构造方法和常用方法(以Double为例)1、Doubledou1=newDouble(“123.45”)Doubledou2=newDouble(123.45)2、publicdoubledoubleValue()字符串转换成相应的基本类型数据值publicstaticdoubleparseDouble(String)从包装类对象中取出对应的基本类型数据值publicdoubledoubleValue();publicstaticDoublevalueOf(String)publicStringtoString(),包装类实例,数字字符串转换成对应简单数据类型;从数据类型对象中取出对应的简单类型数据;JDK1.5及以后版本运行基本类型和包装类型进行混合运算。在JDK1.5版本之前,数学运算表达式中操作单元必须是基本类型,并且结果也必须是基本类型。例如以下语句:doubled=123.456*3*3;/合法Doubled=newDouble(“123.456”)*newInteger(3)*3;/不合法,编译出错在JDK1.5及以后版本中上面两个语句均合法。,实例,publicclassCalculateTestpublicstaticvoidmain(Stringargs)Doubled=Double.valueOf(123.456);Integeri=newInteger(3);Doubled2=Double.valueOf(3.3);intii=6;System.out.println(d*i*d2-ii);,集合类框架,ArrayListVectorIteratorHashTableHashMap,为什么需要集合框架,如何存储每天的新闻信息?,如何存储课程的代码与课程信息,能够通过代码方便地获得课程信息?,如果写程序时并不知道程序运行时会需要多少对象,或者,需要更复杂的方式存储对象那么,可以使用Java集合框架,来解决这类问题,一维数组,一一对应,每天的新闻总数不确定,显然无法再使用数组保存,存储一个班的学生信息,假定一个班容纳20名学员,Java集合框架包含的内容,1,接口,Collection,List,Map,2,具体类,List,ArrayList,Vector,Map,3,算法,Java集合框架,为我们提供了一套性能优良、使用方便的接口和类,我们不必再重新发明轮子,只需学会如何使用它们,就可以处理实际应用中出现的问题了Java集合框架位于java.util包中,Collections,提供了对集合进行排序、遍历等多种算法实现,采用键-值对的存储方式,长度可动态改变,采用线性列表的存储方式,长度可动态改变,Set,List,采用线性列表的存储方式,长度可动态改变,List,了解内容,Hashtable,HashMap,List接口和ArrayList类,开发一套小型的新闻管理系统,要求如下:可以存储各类新闻标题(包含ID、名称、创建者、创建时间)可以获取新闻标题的总数可以逐条打印每条新闻标题的名称,存储方式如何选择?,元素个数不确定,使用集合类,需要遍历元素,存储对象如何确定?,类型:新闻标题,属性:ID、名称、创建者、创建时间,List接口和ArrayList类,第一步,确定存储方式1、ArrayList类是List接口的一个具体实现类2、ArrayList对象实现了可变大小的数组3、随机访问和遍历元素时,它提供更好的性能,当元素个数增加为11个,创建了一个新的数组,把原数组中元素复制进来,根据下标位置访问元素,List接口和ArrayList类,第二步:确定存储对象1、创建类型:新闻标题2、包含属性:ID、名称、创建者、创建时间,publicclassFirstLevelTitleprivateintid;/IDprivateStringtitleName;/名称privateStringcreater;/创建者privateDatecreateTime;/创建时间publicFirstLevelTitle(intid,StringtitleName,Stringcreater,DatecreateTime)this.id=id;this.titleName=titleName;this.creater=creater;this.createTime=createTime;publicStringgetTitleName()returntitleName;publicvoidsetTitleName(StringtitleName)this.titleName=titleName;,List接口和ArrayList类5-4,第三步:具体实现1、按照顺序依次添加各类新闻标题2、获取新闻标题的总数3、根据位置获取相应新闻标题4、逐条打印每条新闻标题的名称,publicclassFirstLevelTitleDB1publicstaticvoidmain(Stringargs)FirstLevelTitlecar=newFirstLevelTitle(1,汽车,管理员,newDate();FirstLevelTitletest=newFirstLevelTitle(2,高考,管理员,newDate();ListnewsTitleList=newArrayList();newsTitleList.add(car);newsTitleList.add(test);System.out.println(新闻标题数目为:+newsTitleList.size()+条);print(newsTitleList);publicstaticvoidprint(ListnewsList)for(inti=0;inewsList.size();i+)FirstLevelTitletitle=(FirstLevelTitle)newsList.get(i);System.out.println(i+1+:+title.getTitleName();,1,2,3,顺序添加,位置从0开始,新闻标题数目为:2条1:汽车2:高考,控制台输出,4,从集合中取出后为Object类型,需要进行强制类型转换,List接口和ArrayList类,第三步:具体实现1、在指定的位置添加新闻标题2、判断是否已经存储了某条新闻标题3、删除指定位置处的某一新闻标题,publicclassFirstLevelTitleDB2publicstaticvoidmain(Stringargs)FirstLevelTitlecar=newFirstLevelTitle(1,汽车,网站管理员,newDate();FirstLevelTitletest=newFirstLevelTitle(2,高考,网站管理员,newDate();FirstLevelTitlehouse=newFirstLevelTitle(3,房产,网站管理员,newDate();ListnewsTitleList=newArrayList();newsTitleList.add(car);newsTitleList.add(test);newsTitleList.add(2,house);if(newsTitleList.contains(test)System.out.println(有高考的新闻);elseSystem.out.println(没有高考的新闻);newsTitleList.remove(1);System.out.println(新闻标题数目为:+newsTitleList.size()+条);,1,2,3,在指定的位置添加元素,后续元素依次后移,有高考的新闻新闻标题数目为:2条,控制台输出,List接口中定义的常用方法,booleanadd(Objecto);,intsize();,Objectget(intindex);,voidadd(intindex,Objecto);插入,booleancontains(Objecto);,booleanremove(Objecto);,小结1,创建一个类Cat包含属性name,在构造方法中进行初始化添加一个方法show(),用以打印name属性的值创建一个类CatTest,添加main方法,实现创建一个ArrayList,向其中添加几个Cat对象遍历该集合,并且对每个Cat对象调用show()方法,Collection接口中别的集合,Collection接口中Iterator,如何遍历Collection中的每一个元素?不论Collection的实际类型如何,它都支持一个iterator()的方法,该方法返回一个迭代子,使用该迭代子即可逐一访问Collection中每一个元素。典型的用法如下:Iteratorit=collection.iterator();/获得一个迭代子while(it.hasNext()/得到下一个元素,需要做具体的类型转换Objectobj=it.next();,Collection接口中Iterator,publicvoidoutputinfo(Listlist)Iteratorit=list.iterator();while(it.hasNext()FirstLevelTitleft=(FirstLevelTitle)it.next();ft.getTitleName();,那Vector和ArrayList有何区别呢?,Vector非常类似ArrayList,但是Vector是同步的.大家不必过多的去研究它们的区别用Vector代替ArrayList实现前例,Map接口和HashMap类,学生应聘至外企工作,每个学生都会有一个英文名称,对应该学员对象,Jack,淮安信息毕业的李明,Rose,南京信息毕业的刘丽,现在希望通过英文名称,获得该学员对象的详细信息,如何实现?,存储方式如何选择?,元素个数不确定,使用集合类,通过key(英文名称)获得value(学员对象),存储对象如何确定?,类型:学生,属性:学校、姓名,Map接口和HashMap类4-2,第一步,确定存储方式1、Map接口用于维护“键-值对”的关联性,可以通过键查找值2、HashMap是Map接口的一个具体实现类,Map接口和HashMap类,第二步:确定存储对象1、创建类型:Accp学员2、包含属性:中心名称、姓名,publicclassAccpStudentprivateStringname;/学生姓名privateStringschool;/学校名称publicAccpStudent(Stringname,Stringschool)=name;this.school=school;publicStringtoString()returnschool+毕业的+name;,重写Object的toString()方法,用于输出调试和描述信息,Map接口和HashMap类,第三步:具体实现1、把英文名称与学员对象按照“键-值对”的方式存储在HashMap中2、分别打印键集、值集、以及键-值对集合3、判断是否存在某个键,如果是,则根据键获取相应的值4、根据键、删除某条记录,publicclassMapTestpublicstaticvoidmain(Stringargs)AccpStudentstudent1=newAccpStudent(“李明”,“淮安信息);AccpStudentstudent2=newAccpStudent(“刘丽”,“南京信息);Mapstudents=newHashMap();students.put(Jack,student1);students.put(Rose,student2);System.out.println(键集:+students.keySet();System.out.println(值集:+students.values();System.out.println(键-值对集合:+students);Stringkey=Jack;if(students.containsKey(key)System.out.println(students.get(key);students.remove(key);System.out.println(键-值对集合:+students);,1,2,3,键集:Jack,Rose值集:淮安信息毕业的李明,南京信息毕业的刘丽键-值对集合:Jack=淮安信息毕业的李明,Rose=南京信息毕业的刘丽淮安信息毕业的李明键-值对集合:Rose=南京信息毕业的刘丽,控制台输出,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论