ImageVerifierCode 换一换
格式:PPT , 页数:83 ,大小:6.11MB ,
资源ID:798728      下载积分:11 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/798728.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(Java标准类库.ppt)为本站上传会员【胜****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

Java标准类库.ppt

1、第7章 Java标准类库 主要内容7.1简单类型包装器类 7.2System7.3Runtime7.4Math7.5日期时间实用工具类 7.6集合框架7.1 简单类型包装器类NumberDouble,FloatByte,Short,Int,Long数字和字符串的转换CharacterBoolean7.1.1 Number 类抽象类Number定义了一个包装数字类型:字节型(Byte),短整型(Short),整型(Integer),长整型(Long),浮点型(Float)和双精度型(Double)的超类。定义了从包装器返回基本类型的方法doubledoubleValue(),floatfloat

2、Value()bytebyteValue(),intintValue(),longlongValue(),shortshortValue()7.1.2 Double和Float双精度(Double)和浮点(Float)分别是对类型double和类型float的浮点值的包装器。构造方法Float(doublevalue),Float(floatvalue),Float(Strings)Double(doublevalue)Double(Strings)Float和Double中定义的常量 MAX_VALUE最大正值MIN_VALUE最小正值NaN非数字POSITIVE_INFINITY正无穷NE

3、GATIVE_INFINITY负无穷Float和Double中定义的主要方法intcompareTo(),比较两个对象staticfloatparseFloat(Strings)把字符串转换成floatstaticFloatvalueOf(Strings)把字符串转换成FloatstaticfloatparseDouble(Strings)把字符串转换成doublestaticDoublevalueOf(Strings)把字符串转换成DoubleDouble,Float 例子/提取简单类型值 f=F.floatValue();d=D.doubleValue();d=D.doubleValue(

4、);System.out.println(f);System.out.println(d);/比较System.out.println(D.equals(F);floatf=3.1415f;doubled=3.14159267;FloatF=newFloat(f);Double D=new Double(d);Double D=new Double(d);/转化为字符串System.out.println(F.toString();System.out.println(D.toString();7.1.3 Byte,Short,Integer,Long Byte,Short,Integer,和

5、Long类分别是字节型(byte),短整型(short),整型(int)和长整型(long)整数类型的包装器 构造函数Byte(bytevalue),Byte(Stringstr),Short(shortvalue),Short(Stringstr),Integer(intvalue),Integer(Stringstr),Long(longvalue),Long(Stringstr)定义的主要方法parseByte,parseInt,parseShort,parseLong,把字符串转化成数字类型valueOf(),把字符串转化成数字类型包装器把数字转化成字符串staticStringtoB

6、inaryString(intvalue)staticStringtoHexString(intvalue)staticStringtoOctalString(intvalue)staticStringtoString(intvalue)staticStringtoString(intvalue,intradix)7.1.4 数字和字符串的转换字符串向数字的转换parseByte(),parseShort(),parseInt()和parseLong()数字向字符串的转换staticStringtoBinaryString(intvalue)staticStringtoHexString(in

7、tvalue)staticStringtoOctalString(intvalue)staticStringtoString(intvalue)staticStringtoString(intvalue,intradix)数字字符串转换示例1Strings1=12;Strings2=34;Strings=null;inti1=0,i2=0,sum=0;/把字符串转换成整数 i1=Integer.parseInt(s1);i2=newInteger(s2).intValue();sum=i1+i2;/把整数转换成字符串 s=Integer.toString(sum);s=Integer.toSt

8、ring(sum);System.out.println(s);数字字符串转换示例2inti=-34567;Strings=null;/转换成二进制字符串 System.out.println(2进制字串:+Integer.toBinaryString(i);Integer.toBinaryString(i);/转换成8进制字符串System.out.println(8进制字符串:+Integer.toOctalString(i);Integer.toOctalString(i);/转换成16进制字符串 System.out.println(16进制字符串:+Integer.toHexStri

9、ng(i);Integer.toHexString(i);/转换成带符号表示的8进制字符串 s=Integer.toString(i,8);Integer.toString(i,8);System.out.println(带符号8进制字符串:+s);/从8进制字符串转化成Integer对象IntegerI=Integer.valueOf(s,8);System.out.println(Integer对象中的值:+I.intValue();7.1.5 CharacterCharacter是围绕字符型(char)的一个简单的包装器。Character的构造函数如下:Character(charch

10、)Character类定义了很多常数和静态方法。isDigit(charch),isLetter(charch)isLowerCase(charch),toUpperCase(charch)7.1.6 BooleanBooleanBoolean是一个围绕布尔(boolean)值的非常细小的包装器,主要用在通过引用传递布尔(boolean)变量的场合。构造函数Boolean(booleanboolValue)Boolean(StringboolString)Strings=true;booleanb=true;if(b=newBoolean(s).booleanValue()newBoolean

11、s).booleanValue()System.out.println(两个布尔变量相等);System.out.println(Boolean.valueOf(s).hashCode();java.lnag.Object中对hashCode的约定:在一个应用程序执行期间,如果一个对象的equals方法做比较所用到的信息没有被修改的话,则对该对象调用hashCode方法多次,它必须始终如一地返回同一个整数。如果两个对象根据equals(Objecto)方法是相等的,则调用这两个对象中任一对象的hashCode方法必须产生相同的整数结果。如果两个对象根据equals(Objecto)方法是不相

12、等的,则调用这两个对象中任一个对象的hashCode方法,不要求产生不同的整数结果。但如果能不同,则可能提高散列表的性能。主要内容7.1简单类型包装器类 7.2System7.3Runtime7.4Math7.5日期时间实用工具类 7.6集合框架7.2 SystemSystem类保存静态方法和变量的集合。标准的输入,输出和Java运行时错误输出存储在变量in,out和err中。定义的主要方法见下表 System的主要方法1static void arraycopy(Object source,int Start,Object target,int Start,int size)复制数组。sta

13、tic long currentTimeMillis()返回自1970年1月1日午夜至今的时间,时间单位为毫秒。static void exit(int exitCode)返回exitCode值给父进程static void gc()建议JVM进行垃圾回收static Properties getProperties()返回与Java运行系统有关的属性类static String getProperty(String key)返回与key有关的属性。System的主要方法2static String getProperty(String key,String default)返回一个与key有

14、关的属性。如果期望的属性没有被发现,则返回defaultstatic SecurityManager getSecurityManager()返回当前的安全管理程序,如果没有安装安全管理程序,则返回一个空对象(null object)static void load(String libraryFileName)载入其文件由libraryFileName指定的动态库,必须指定其完全路径static void loadLibrary(String libraryName)载入其库名为libraryName的动态库static String mapLibraryName(String lib)对应

15、名为lib的库,返回一个指定平台的名字static void runFinalization()启动调用不用的但还不是回收站中的对象的finalize()方法。System的主要方法3static void setProperties(Properties sysProperties)设置由sysProperties指定的当前系统属性Static String setProperty(String key,String value)将value值赋给名为key的属性static void setSecurityManager(SecurityManager s)设置由s指定的安全管理程序记录程

16、序执行的时间publicclassElapsedpublicstaticvoidmain(Stringargs)longstart,end,sum=0;System.out.println(aloopfrom0to1,000,000,000);start=System.currentTimeMillis();System.currentTimeMillis();for(inti=0;i1000000000;i+)sum=sum+i*i;end=System.currentTimeMillis();System.currentTimeMillis();System.out.println(Ela

17、psedtime:+(end-start);访问JVM的环境属性1java.versionJRE的版本java.vendorJRE的厂商java.vendor.urlJRE厂商的URLjava.homeJava的安装目录java.vm.specification.versionJVM规范的版本java.vm.specification.vendorJVM规范的厂商java.vm.specification.nameJVM规范的名称java.vm.versionJVM的实现版本java.vm.vendorJVM的实现厂商java.vm.nameJVM的实现名称访问JVM的环境属性2publicc

18、lassPropsDemopublicstaticvoidmain(Stringargs)System.out.println(System.getPropertygetProperty(java.version);System.out.println(System.getProperty(java.vendor);System.out.println(System.getProperty(java.vendor.url);System.out.println(System.getProperty(java.home);System.out.println(System.getProperty

19、user.dir);System.setProperty.setProperty(java.class.path,d:javalib);System.out.println(System.getProperty(java.class.path);主要内容7.1简单类型包装器类 7.2System7.3Runtime7.4Math7.5日期时间实用工具类 7.6集合框架7.3 RuntimeRuntime类封装了运行时环境。用户一般不实例化一个Runtime对象。但是可以通过调用静态方法Runtime.getRuntime()而获得对当前Runtime对象的引用。一旦获得了对当前对象的引用,就

20、可以调用几个控制Java虚拟机的状态和行为的方法。Runtime 常用的方法Process exec(String progName)throws IOException将由progName指定的程序作为独立的进程来执行。返回描述新进程的类型Process的对象void exit(int exitCode)暂停执行并且向父进程返回exitCode的值long freeMemory()返回Java运行系统可以利用的空闲内存的大概字节数void gc()初始化垃圾回收站static Runtime getRuntime()返回当前的Runtime对象void halt(int code)立即终止J

21、ava虚拟机,void loadLibrary(String libraryName)载入库名为libraryName的动态库long totalMemory()返回程序可以利用的内存的总字节数使用Runtime执行其他程序publicclassExecDemopublicstaticvoidmain(Stringargs)Runtimer=Runtime.getRuntime();Processp=null;tryp=r.execr.exec(notepad);/程序暂停1秒钟Thread.sleep(1000Thread.sleep(1000);/关闭外部程序p.destroyp.dest

22、roy();catch(Exceptione)System.out.println(Errorexecutingnotepad.);主要内容7.1简单类型包装器类 7.2System7.3Runtime7.4Math7.5日期时间实用工具类 7.6集合框架7.4 Math定义了一些静态的数学函数方法描述static double exp(double a)返回自然常数e的a次幂的值static double log(double a)返回a的自然对数值static double pow(double y,double x)返回以y为底数,以x为指数的幂值;例如pow(3.0,3.0)返回27.

23、0static double sqrt(double a)返回a的平方根主要内容7.1简单类型包装器类 7.2System7.3Runtime7.4Math7.5日期时间实用工具类 7.6集合框架7.5 日期时间实用工具类Date封装当前的日期和时间,也可以封装一个指定的日期 Calendar,GregorianCalendar一个日历可以获取时间分量日期计算7.5.1 Date构造函数Date(),从当前时间构造对象Date(longmillisec),接收一个参数,该参数等于从1970年年1月月1日午夜日午夜起至今的毫秒数的大小 Date的主要方法方法描述boolean after(Dat

24、e date)如果调用对象所包含的日期迟于由date指定的日期,则返回true;否则返回falseboolean before(Date date)如果调用对象所包含的日期早于由date指定的日期,则返回true;否则返回falseObject clone()复制调用对象int compareTo(Date date)将调用对象的值与date的值进行比较。long getTime()返回自1970年1月1日起至今的毫秒数值void setTime(long time)按time的指定,设置时间和日期,表示自1970年1月1日午夜至今的以毫秒为单位的时间值String toString()将调用

25、Date对象转换成字符串并且返回结果Date的例子Dated1=newDate();Dated2=newDate(1140203030304L);System.out.println(d1);System.out.println(d2);if(d2.afterafter(d1)System.out.println(d2晚于d1);System.out.println(pareTo(d1);/改变的d2的值为d1 d2.setTime(d1.getTime();d2.setTime(d1.getTime();System.out.println(d2);7.5.2 Calendar 抽象Cale

26、ndar类提供了一组方法,这些方法允许将以毫秒毫秒为单位的时间转换为一组有用的分量。一些可以提供信息的类型是:年,月,日,小时,分和秒。定义的一些常量,表示时间分量 AMFRIDAYPMAM_PMHOURSATURDAYAPRILHOUR_OF_DAYSECONDAUGUSTJANUARYSEPTEMBERDATEJULYSUNDAYDAY_OF_MONTHJUNETHURSDAYDAY_OF_WEEKMARCHTUESDAYDAY_OF_YEARMILLISECONDWEDNESDAYDECEMBERMINUTEWEEK_OF_MONTHCalendar的主要方法方法描述abstract v

27、oid add(intfield,intamount)将amount加到由field指定的时间或日期分量。例如Calendar.HOURfinal void clear()对调用对象的所有时间分量置0final int get(int field)返回调用对象的一个分量的值。该分量由field指定。Calendar.YEAR,static Calendar getInstance()对默认的地区和时区,返回一个Calendar对象final Date getTime()返回一个与调用对象的时间相等的Date对象final void set(int field,int val)在调用对象中,将由

28、field指定的日期和时间分量赋给由val指定的值。final void set(int year,int month,int day,int hours,int min,int sec)设置调用对象的各种日期和时间分量final void setTime(Date d)设置调用对象的各种日期和时间分量。该信息从Date对象d中获得7.5.3 GregorianCalendar是Calendar的子类GregorianCalendar是Calendar的一个实现大家所熟悉的标准日历(现在通用的阳历)的具体工具 GregorianCalendar定义了两个域:AD和BC。它们代表由公历定义的两个

29、纪元。GregorianCalendar的构造函数GregorianCalendar(intyear,intmonth,intdate)GregorianCalendar(intyear,intmonth,intdate,inthours,intminutes)GregorianCalendar(intyear,intmonth,intdate,inthours,intminutes,intseconds)三种形式中,都设置了日,月和年。这里,year指定了从1900年起的年数。month指定了月,以0表示一月。月中的日由date指定,从1开始。第一种形式以午夜设置时间。第二种形式以小时和分钟

30、设置时间,第三种形式增加了秒。日历的使用Calendarc=Calendar.getInstance();c.setFirstDayOfWeek(Calendar.MONDAY);/设置日期和时间.c.set(2006,11,30);c.set(Calendar.HOUR,10);c.set(Calendar.MINUTE,29);c.set(Calendar.SECOND,22);c.add(Calendar.DATE,10);c.add(Calendar.HOUR_OF_DAY,10);详见程序主要内容7.1简单类型包装器类 7.2System7.3Runtime7.4Math7.5日期时

31、间实用工具类 7.6集合框架7.6集合框架集合接口 实现List接口的类 实现Set接口的类 通过迭代接口访问类集 Generics(泛化)映射接口(Map)实现Map接口的类 比较器(Comparator)类集算法 Arrays集合框架概述Java的集合框架使你的程序处理对象数组的方法标准化。统一的操作方法和接口一些通用的算法比较高的性能,可扩展7.6.1集合接口 接口描述CollectionCollectionCollectionCollection能使你操作对象数组,它位于集合框架层次结构的顶层ListListListList扩展Collection,表示有序的,可包括重复元素的列表 S

32、etSetSetSet扩展Collection,表示无序的,无重复元素的集合(数学上的含义)。SortedSetSortedSetSortedSetSortedSet扩展Set,对Set中元素进行排序 Collection接口Collection接口是构造集合框架的基础。它声明所有集合类都将拥有的核心方法。包含下面几种类型的方法增加元素,清除元素,判断元素的存在返回迭代接口,把集合转换成数组集合的大小Collection的主要方法1boolean add(Object obj)将obj加入到调用集合类中。如果obj被加入到集合类中了,则返回true;如果未能加入集合,则返回falseboole

33、an addAll(Collection c)将c中的所有元素都加入到调用集合类中,如果操作成功,则返回true;否则返回falsevoid clear()从调用集合类中删除所有元素boolean contains(Object obj)如果obj是调用集合类的一个元素,则返回true,否则,返回falseboolean containsAll(Collection c)如果调用集合类包含了c中的所有元素,则返回true;否则,返回falseCollection的主要方法2int hashCode()返回调用集合类的散列值boolean isEmptyisEmpty()如果调用集合类是空的,则

34、返回true;否则返回falseIterator iteratoriterator()返回调用集合类的迭代程序Boolean remove(Objectremove(Object obj)从调用集合类中删除obj的一个实例。如果这个元素被删除了,则返回true;否则返回falseBoolean removeAll(CollremoveAll(Collectionection c)从调用集合类中删除c的所有元素。如果集合类被改变了(也就是说元素被删除了),则返回true;否则返回falseCollection的主要方法3Boolean retainAllretainAll(Collection

35、c)删除调用集合类中除了包含在c中的元素之外的全部元素。如果集合类被改变了(也就是说元素被删除了),则返回true,否则返回falseint sizesize()返回调用集合类中元素的个数Object toArray()返回一个数组,该数组包含了所有存储在调用集合类中的元素。Object toArraytoArray(Object array)返回一个数组,该数组仅仅包含了那些类型与数组元素类型匹配的集合类元素。List接口继承了Collection接口表示了一种有序的集合元素可以通过它们在列表中的位置被插入和访问 一个列表可以包含重复元素 List接口的方法void addadd(int i

36、ndex,Object obj)boolean addAlladdAll(int index,Collection c)Object getget(int index)int indexOfindexOf(Object obj)int lastIndexOflastIndexOf(Object obj)ListIterator listIteratorlistIterator()ListIterator listIteratorlistIterator(int index)Object removeremove(int index)Object setset(int index,Object

37、obj)List subListsubList(int start,int end)Set和SortedSet接口 Set继承了Collection并说明了不允许重复元素的类集的特性 SortedSet接口扩展了Set并说明了按升序排列的集合的特性。SortedSet接口的方法方法描述Comparator comparator()返回调用被排序集合的比较器,如果对该集合使用自然顺序,则返回nullObject first()返回调用被排序集合的第一个元素SortedSet headSet(Object end)返回一个包含那些小于end的元素的SortedSet,那些元素包含在调用被排序集合中

38、返回被排序集合中的元素也被调用被排序集合所引用Object last()返回调用被排序集合的最后一个元素SortedSet subSet(Object start,Object end)返回一个SortedSet,它包括了从start到end1的元素。返回类集中的元素也被调用对象所引用SortedSet tailSet(Object start)返回一个SortedSet,它包含了那些包含在分类集合中的大于等于start的元素。返回集合中的元素也被调用对象所引用7.6.2 实现List接口的类实现List的类类描述AbstractCollection抽象类,实现大多数Collection接口

39、中的方法AbstractList抽象类,继承AbstractCollection并实现大多数List接口AbstractSequentialList抽象类,为了被类集使用并扩展AbstractList,该类集使用连续而不是随机方式访问其元素LinkedList通过继承AbstractSequentialList来实现链接列表ArrayList通过扩展AbstractList来实现动态数组Vector可增长的动态数组,和ArrayList类似,支持同步特性Stack继承Vector,实现了栈的数据结构ArrayList ArrayList支持可随需要而增长的动态数组。ArrayList有如下的构

40、造函数:ArrayList()ArrayList(Collectionc)ArrayList(intcapacity)ArrayList例子1ArrayListal=newArrayList();System.out.println(List的初始大小:+al.size();/向List中增加元素 al.add(A);al.add(A);al.add(B);al.add(C);al.add(D);al.add(E);al.add(F);al.add(1,A2);ArrayList例子2System.out.println(增加元数后的大小:+al.size();al.size();/显示其内容

41、System.out.println(List中的内容:+al);/删除List中的元素al.remove(D);al.remove(D);al.remove(2);al.remove(2);System.out.println(删除元素后的大小:+al.size();System.out.println(内容:+al);LinkedList 类LinkedList类扩展AbstractSequentialList并实现List接口。它提供了一个链接列表数据结构。它具有如下的两个构造函数LinkedList()LinkedList(Collectionc)使用addFirst()方法可以在列表

42、头增加元素;使用addLast()方法可以在列表的尾部增加元素 ObjectgetFirst(),ObjectgetLast()LinkedList 类的例子LinkedListll=newLinkedList();ll.add(A);ll.add(B);ll.addFirst(A3);ll.addLast(A4);详细见程序7.6.3 实现SetSet接口的类HashSet类 HashSet扩展AbstractSet并且实现Set接口。该类集使用散列表进行存储。在散列(hashing)中,一个关键字的信息内容被用来确定唯一的一个值,称为散列码(hashcode)。而散列码被用来当作与关键字相

43、连的数据的存储下标。存储在HashSet中的元素必须正确覆盖java.lang.Object中定义的hashCode()方法。HashSet的例子HashSeths=newHashSet();hs.add(A);hs.add(B);hs.add(C);hs.add(D);hs.add(E);hs.add(F);hs.add(A);System.out.println(hs);D,A,F,C,B,E从输出结果可以看出,元素并没有按顺序进行存储,并且也没有重复元素。TreeSet类 TreeSet为使用树结构进行存储的Set接口提供了一个工具对象按升序存储。访问和检索是很快的。在存储了大量的需要进

44、行快速检索的排序信息的情况下,TreeSet是一个很好的选择。TreeSet的使用TreeSeths=newTreeSet();hs.add(D);hs.add(E);hs.add(F);hs.add(A);hs.add(B);hs.add(C);hs.add(A);System.out.println(hs);该程序的输出如下:A,B,C,D,E,FTreeSet按树存储其元素,它们被按照自然顺序自动安排,也不能有重复元素7.6.4通过迭代接口访问类集 通常希望依次访问类集中的元素。到目前为止,处理这个问题的最简单方法是使用iterator,Iterator是一个或者实现Iterator或者

45、实现ListIterator接口的对象。Iterator可以遍历类集中的元素,从而获得或删除元素。ListIterator扩展Iterator,允许双向遍历列表,并可以修改。Iterator接口中的方法 方法描述boolean hasNext()如果存在更多的元素,则返回true,否则返回falseObject next()返回下一个元素。如果没有下一个元素,则引发NoSuchElementException异常void remove()从集合中删除当前元素,如果试图在调用next()方法之前,调用remove()方法,则引发IllegalStateException异常。如果重复调用两次re

46、move()方法也会发生这个异常。ListIterator接口中的方法void add(Object obj)int nextIndex()boolean hasNext()Object previous()boolean hasPrevious()int previousIndex()Object next()void remove()void set(Object obj)Iterator的使用ArrayListal=newArrayList();Iteratoritr=al.iterator();al.iterator();while(itr.hasNext()Objectelement

47、itr.nextitr.next();();System.out.print(element+);详细见程序7.6.5 Generics(泛化)Generics是JDK5.0新增加的功能,在使用集合时,提供了一种编译时类型安全检查功能,并能减少类型强制转化的麻烦。当你从一个集合中取出一个元素时,例如使用Iterator接口中的next()方法,其返回值的类型是Object,在使用这个元素时,需要把返回值转换为元素本身的类型。这种类型转化是不安全的。未使用泛化的代码ArrayLista=newArrayList();a.add(newInteger(1);a.add(newInteger(2)

48、for(Iteratori=a.iterator();i.hasNext();)inti1=(Integer)i.next().intValue();使用泛化后的代码ArrayLista=newArrayList();a.add(newInteger(1);a.add(newInteger(2);for(Iteratori=a.iterator();i.hasNext();)inti1=i.next().intValue();7.6.6 映射接口(Map)映射(map)是一个存储关键字和值的关联或者说是关键字/值对的对象。给定一个关键字,可以得到它的值。关键字和值都是对象,每一对关键字/值,

49、叫做一项项。关键字必须是唯一的。但值是可以被重复的。有些映射可以接收null关键字和null值。而有的则不行 Map接口的方法void clear()boolean isEmpty()boolean containsKey(Object k)Set keySet()boolean containsValue(Object v)Object put(Object k,Object v)Set entrySet()void putAll(Map m)Boolean equals(Object obj)Object remove(Object k)Object get(Object k)int si

50、ze()int hashCode()Collection values()SortedMapSortedMap接口 SortedMap接口扩展了Map,它确保了各项按关键字升升序排序序排序。Comparator comparator()Object firstKey()SortedMap headMap(Object end)Object lastKey()SortedMap subMap(Object start,Object end)SortedMap tailMap(Object start)Map.Entry Map.Entry 接口 Map.Entry接口使得可以操作映射的项。boo

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服