Java集合遍历实现方法及泛型通配

网友投稿 258 2022-11-30


Java集合遍历实现方法及泛型通配

集合定义

集合,集合是java中提供的一种容器,可以用来存储多个数据。

特点:数组的长度是固定的。集合的长度是可变的。集合中存储的元素必须是引用类型数据‘

普通for遍历:

//案例一

ArrayList arr=new ArrayList();

arr.add(new Person("张三",19));

arr.add(new Person("小红帽",20));

arr.add(new Person("小红帽",23));

for(int i=0;i

System.out.println(arr.get(i));

}

增强for循环遍历:

案例二

Collection arr=new ArrayList<Integer>();

arr.add(789);

arr.add(456);

arr.add(123);

//增强for循环

/*for(元素的数据类型 变量 : Collection集合or数组){

}*/

for(Integer i:arr){

System.out.println(i);

}

迭代器遍历:

//案例三

//1,创建集合对象。

Collection coll = new ArrayList<String>();

coll.add("abc1");

coll.add("abc2");

coll.add("abc3");

coll.add("abc4");

//2.获取容器的迭代器对象。通过iterator方法。

Iterator it = coll.iterator();

//3,使用具体的迭代vlvPUk器对象获取集合中的元素。参阅迭代器的方法

while(it.hasNext()){

System.out.println(it.next());

}

Collection接口的基本方法

Collection接口是集合中的顶层接口,那么它中定义的所有功能子类都可以使用

创建集合的格式:

方式1:Collection<元素类型> 变量名 = new ArrayList<元素类型>();

方式2:Collection 变量名 = nhttp://ew ArrayList();

集合元素的向下转型

Collection coll = new ArrayList();

coll.add("abc");

collvlvPUk.add("aabbcc");

coll.add(1);

Iterator it = coll.iterator();

while (it.hasNext()) {

//由于元素被存放进集合后全部被提升为Object类型

//当需要使用子类对象特有方法时,需要向下转型

String str = (String) it.next();

System.out.println(str.length());

}

泛型和通配符

类定义格式:修饰符 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());

}

System.out.println(arr.get(i));

}

增强for循环遍历:

案例二

Collection arr=new ArrayList<Integer>();

arr.add(789);

arr.add(456);

arr.add(123);

//增强for循环

/*for(元素的数据类型 变量 : Collection集合or数组){

}*/

for(Integer i:arr){

System.out.println(i);

}

迭代器遍历:

//案例三

//1,创建集合对象。

Collection coll = new ArrayList<String>();

coll.add("abc1");

coll.add("abc2");

coll.add("abc3");

coll.add("abc4");

//2.获取容器的迭代器对象。通过iterator方法。

Iterator it = coll.iterator();

//3,使用具体的迭代vlvPUk器对象获取集合中的元素。参阅迭代器的方法

while(it.hasNext()){

System.out.println(it.next());

}

Collection接口的基本方法

Collection接口是集合中的顶层接口,那么它中定义的所有功能子类都可以使用

创建集合的格式:

方式1:Collection<元素类型> 变量名 = new ArrayList<元素类型>();

方式2:Collection 变量名 = nhttp://ew ArrayList();

集合元素的向下转型

Collection coll = new ArrayList();

coll.add("abc");

collvlvPUk.add("aabbcc");

coll.add(1);

Iterator it = coll.iterator();

while (it.hasNext()) {

//由于元素被存放进集合后全部被提升为Object类型

//当需要使用子类对象特有方法时,需要向下转型

String str = (String) it.next();

System.out.println(str.length());

}

泛型和通配符

类定义格式:修饰符 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());

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:记一次公司JVM堆溢出抽丝剥茧定位的过程解析
下一篇:浅谈web服务器项目中静态请求和动态请求处理
相关文章

 发表评论

暂时没有评论,来抢沙发吧~