Iterator与LIstIterator接口在java中的区别有哪些
236
2022-11-06
Java.集合.泛型初步
Java.集合.泛型初步
一、JDK5.0新特性 :泛型
1.为什么引入?
可以统一集合中的数据类型可以减少强制类型转换
2.泛型语法如何实现
泛型是一个编译阶段的语法在编译阶段统一集合中的元素类型
3.泛型的优缺点
优点:统一类型、减少强制类型转换缺点:类型过于单一
案例:
import java.util.*;/* * 以下程序未使用泛型的缺点与优点 * 优点:可以对不同类型的元素存储,调用。 * 缺点:若集合不使用泛型,则集合中的元素类型不统一。 * 在遍历集合的时候,只能拿出来Object类型,需 * 要大量的进行强制类型转换,十分麻烦。 */class A{ public void m1(){ System.out.println("A's m1()执行了。"); }}class B{ public void m2(){ System.out.println("B's m2()执行了。"); }}class C{ public void m3(){ System.out.println("C's m3()执行了。"); }}public class GenericTest01 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //创建一个Set集合 Set s = new HashSet(); //创建对象 A a = new A(); B b = new B(); C c = new C(); //添加元素 s.add(a); s.add(b); s.add(c); //需求:遍历集合,若A,调用m1方法,以此类推 Iterator it = s.iterator(); while(it.hasNext()){ Object o = it.next(); if(o instanceof A){ A a1 = (A) o; a1.m1(); }else if(o instanceof B){ B b1 = (B) o; b1.m2(); }else if(o instanceof C){ C c1 = (C) o; c1.m3(); } } }}
import java.util.*;public class GenericTest02 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //创建一个list集合,只能存储字符串类型 List
import java.util.*;public class GenericTest03 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //创建一个Map集合 Map
import java.util.*;class Manager implements Comparable
二、自定义泛型
方法泛型注意的事项:1. 在方法上自定义泛型,这个自定义泛型的具体数据类型是在调用该 方法的时候传入实参时确定具体的数据类型的。2. 自定义泛型只要符合标识符 的命名规则即可, 但是自定义泛型我们一般都习惯使用一个大写字母表示。 T Type E Element3.在泛型中不能使用基本数据类型,如果需要使用基本数据类型,那么就使用基本数据类型对应的包装类型。
import java.util.*;//自定义泛型class Myclass
以下截取的某位码农的解析,个人感觉挺详细的,感谢~
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~