第二十一讲
Java泛型泛型
佘向飞长春工程
软件 本讲
学习目标
??第二十一讲Java
本
泛型
集合使用类:集合使用类:Collections
对于java集合,java.util.Collections,它的一集合,对于集合,部分方法专门用于操纵List类型集合,还有一部分类型集合,部分方法专门用于操纵类型集合方法用于操纵所有Collection类型或类型或Map类型集合。类型集合。方法用于操纵所有类型或类型集合List代表长度可变的数组,Collections的以下代表长度可变的数组,代表长度可变的数组的以下方法适用于List类型集合。类型集合。方法适用于类型集合第二十一讲Java
copy(Listdest,Listsrc)将所有元素从一个
列表复制到另一个列表。将所有元素从一个列表复制到另一个列表。fill(Listlist,Objectobj)使用指定元素替换指定列表中的所有元素。使用指定元素替换指定列表中的所有元素。sort(Listlist)根据元素的自然顺序对指定列表按升序进行排序。序进行排序。
第二十一讲Java
binarySearch(Listlist,Objectkey)使用二进制
搜索算法来搜索指定列表,使用二进制搜索算法来搜索指定列表,以获得指定对象。必须保证List中的元素已经自然排序,中的元素已经自然排序,得指定对象。必须保证中的元素已经自然排序这样才能得到正确的结果。这样才能得到正确的结果。binarySearch(Listlist,Objectkey,Comparatorc)使用二进制搜索算法来搜索指定列表,使用二进制搜索算法来搜索指定列表,以获得指定对象。得指定对象。
第二十一讲Java
shuffle(Listlist)中的元素进行随机排列。对List中的元素进行随机排列。中的元素进行随机排列
第二十一讲Java
CollectionsTester.java
数组使用类Arrays类类
java.util.Arrays类,该类提供了一系列操纵java数类该类提供了一系列操纵数组的静态方法。组的静态方法。第二十一讲Java
ArraysTester.java
泛型
问题:问题:Colletion元素类型元素类型编译器无法帮助验证类型赋值必须进行强制类型转换有可能产生运行时的错误ClassCastException解决办法:解决办法:告诉编译器元素类型让编译器来做类型的匹配和转换保证运行成功第二十一讲Java
JDK1.5引入的最大、影响最深远的JAVA特性是”引入的最大、影响最深远的特性是”引入的最大特性是二泛型”即可以把类型作为参数进行传递,就像把泛型”-------即可以把类型作为参数进行传递就像把十即可以把类型作为参数进行传递数值作为参数传递一样。数值作为参数传递一样。一讲泛型的概念是“希望有这样一个形式参数,泛型的概念是“希望有这样一个形式参数,它表示的是数据的类型,而非数据的值。示的是数据的类型,而非数据的值。我们可以使用不同的类型(如用不同的类型如Integer、Timestamp、Double、、和Thread),实例化一个泛型类的对象。每个对象,实例化一个泛型类的对象。最终将根据给出的实际类型参数执行相应的处理”。
第
Java
泛型也称为模板或参数多态。泛型也称为模板或参数多态。创建与特定类型关联的泛型对象实例Vector
x=newVector();x.add(newInteger(5));泛型的目的JAVA的泛型特性使编译程序能够把期望的类型的泛型特性使编译程序能够把期望的类型加载到集合类中,加载到集合类中,也使程序员能够很快找出程序中存在的任何错误,存在的任何错误,包括加入集合或从集合中获取的对象的类型错误。对象的类型错误。而且利用泛型还能够捕捉其他错误。
第二十一讲Java
泛型编程过程
泛型编程涉及三个方面的内容:泛型编程涉及三个方面的内容:1)声明具有泛型参数的类。)声明具有泛型参数的类。第二十一