时间:2021-05-20
集合定义
集合,集合是java中提供的一种容器,可以用来存储多个数据。
特点:数组的长度是固定的。集合的长度是可变的。集合中存储的元素必须是引用类型数据‘
普通for遍历:
//案例一ArrayList<Person> arr=new ArrayList<Person>(); arr.add(new Person("张三",19)); arr.add(new Person("小红帽",20)); arr.add(new Person("小红帽",23)); for(int i=0;i<arr.size();i++){ System.out.println(arr.get(i)); }增强for循环遍历:
案例二 Collection<Integer> arr=new ArrayList<Integer>(); arr.add(789); arr.add(456); arr.add(123); //增强for循环 for(Integer i:arr){ System.out.println(i); }迭代器遍历:
//案例三//1,创建集合对象。Collection<String> coll = new ArrayList<String>();coll.add("abc1");coll.add("abc2");coll.add("abc3");coll.add("abc4"); //2.获取容器的迭代器对象。通过iterator方法。Iterator it = coll.iterator(); //3,使用具体的迭代器对象获取集合中的元素。参阅迭代器的方法while(it.hasNext()){ System.out.println(it.next());}Collection接口的基本方法
Collection接口是集合中的顶层接口,那么它中定义的所有功能子类都可以使用
创建集合的格式:
方式1:Collection<元素类型> 变量名 = new ArrayList<元素类型>();
方式2:Collection 变量名 = new ArrayList();
集合元素的向下转型
泛型和通配符
类定义格式:修饰符 class 类名<代表泛型的变量> { }
接口定义格式:修饰符 interface接口名<代表泛型的变量> { }
限定泛型的下限:
//? extends Person 限定泛型的上限 //? super Person 限定泛型的下限 public static void get(Collection<? extends Person> c){ Iterator<?> it=c.iterator(); while(it.hasNext()){ //向下转型 Object obj=it.next(); Person p=(Person)obj; System.out.println(p.getName()); }以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
概述 泛型类和泛型方法兼具可重用性、类型安全性和效率,这是非泛型类和非泛型方法无法实现的 泛型通常与集合以及作用于集合的方法一起使用 泛型所属命名空间:S
一、泛型概述1、背景在Java中增加泛型之前,泛型程序设计使用继承来实现的。坏处:需要进行强制类型转换可向集合中添加任意类型的对象,存在风险2、泛型的使用Lis
c#的泛型没有类型通配符,原因是.net的泛型是CLR支持的泛型,而Java的JVM并不支持泛型,只是语法糖,在编译器编译的时候都转换成object类型类型通配
本文接上文“java反射之方法反射的基本操作方法”,利用反射了解下java集合中泛型的本质1、初始化两个集合,一个使用泛型,一个不使用ArrayListlist
Java中泛型使用泛型作用:泛型:集合类添加对象不用强转反射机制:将泛型固定的类的所有方法和成员全部显示出来核心代码:ArrayListff=newArrayL