Collection集合,Iterator迭代器,泛型

Collection集合,Iterator迭代器,泛型

1.两种容器

A.数组(存放任意类型,长度固定)
B.集合(存放对象类型,长度可变)

2.体系结构

单列集合 Collection 
    List (ArrayList、LinkedList、Vector)
    Set (HashSet、LinkedHashSet、TreeSet)

3、获取迭代器对象和使用方法

Iterator<E> iter = c.iterator(); //获取迭代器
iter.hasNext(); //是否存在下一个元素
E  e = iter.next(); //获取下一个元素

4.集合的常见遍历方法

//创建对象
Collection<String> coll = new ArrayList<>();
//添加数据
coll.add("faker");
coll.add("uzi");
coll.add("jacklove");
coll.add("theshy");
System.out.println("======[方法1]转数组======");
//创建字符串的数组,长度是集合的长度
String[] str = new String[coll.size()];
//调用方法,转换成为数组
String[] strArr = coll.toArray(str);
//循环遍历数组 数组名称.fori
for (int i = 0; i < strArr.length; i++) {
    System.out.println(strArr[i]+","+strArr[i].toUpperCase());
}
System.out.println("======[方法2]迭代器======");
//获取迭代器的对象 it
Iterator<String> iter = coll.iterator();
//快捷键 itit 回车
while (iter.hasNext()) {
    String s1 = iter.next();
    System.out.println(s1+","+s1.toUpperCase());
}
System.out.println("======[方法3]增强for======");
//采用增强for循环遍历集合,快捷键 集合名称.for
for (String s : coll) {
    System.out.println(s);
}

5.泛型应用场景

A.泛型类
    a.定义格式:
        修饰符 class 类名称<泛型>{ }   //定义未知不具体类型
    b.使用格式:(创建对象)
        类名称<具体类型> 对象名称 = new 类名称<具体类型>(); //使用已知具体类型
        
B.泛型方法
    a.定义格式:
        修饰符 <泛型> 返回值  方法名称 (参数){ 方法体; return 返回值; }  //定义未知不具体类型
    b.使用格式:(调用方法)
        具体返回值类型  返回值 = 方法名称(具体参数);  //使用已知具体类型

C.泛型接口
    a.定义格式:
        修饰符 interface 接口名称<泛型>{ }
    b.使用格式:(实现类或者创建实现类对象时候)
        第一种:修饰符 class 类名称 implements 接口名称<具体类型>{ }   //使用已知具体类型
        第二种:类名称<具体类型> 对象名称 = new 类名称<具体类型>(); //使用已知具体类型

D.泛型通配符
    a.含义: 
        不知道使用什么数据类型的时候,泛型可以使用 ? 
    b.格式:
        Collection<?>  可以传递各种泛型类型的对象 
        例如: 这些都可以传递 Collection<Object> Collection<String> Collection<Integer> 
    c.高级使用: (Number是Integer的父类)
        Collection<? extends Number> 只能接收 Number类型以及子类类型. (专业术语"泛型的上限")
        Collection<? super Number> 只能接收 Number类型以及父类类型. (专业术语"泛型的下限"
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值