欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

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

时间:2021-05-21 08:26:09|栏目:JAVA代码|点击:

集合定义

集合,集合是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(元素的数据类型 变量 : Collection集合or数组){
    }*/
    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();

集合元素的向下转型

Collection coll = new ArrayList();
coll.add("abc");
coll.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());
    }

上一篇:java使用jar包生成二维码的示例代码

栏    目:JAVA代码

下一篇:gradle和maven有哪些区别

本文标题:Java集合遍历实现方法及泛型通配

本文地址:http://www.codeinn.net/misctech/125804.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有