温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java如何实现集合遍历及泛型通配

发布时间:2020-07-20 17:13:35 来源:亿速云 阅读:218 作者:小猪 栏目:开发技术

小编这次要给大家分享的是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接口是集合中的顶层接口,那么它中定义的所有功能子类都可以使用

Java如何实现集合遍历及泛型通配

创建集合的格式:

方式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接口名<代表泛型的变量> { }

限定泛型的下限:

//&#63; extends Person 限定泛型的上限
  //? super Person   限定泛型的下限
  public static void get(Collection<&#63; extends Person> c){
    Iterator<&#63;> it=c.iterator();
    while(it.hasNext()){
      //向下转型
      Object obj=it.next();
      Person p=(Person)obj;
      System.out.println(p.getName());
    }

看完这篇关于Java如何实现集合遍历及泛型通配的文章,如果觉得文章内容写得不错的话,可以把它分享出去给更多人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI