游客您好
第三方账号登陆
  • 点击联系客服

    在线时间:8:00-16:00

    客服电话

    020-85534346

    电子邮件

    81058337@qq.com
  • 码云社APP

    随时掌握码云社动态

  • 扫描二维码

    关注砺锋微信公众号

推荐阅读
鸿buff 初显锋芒
未知星球 | 未知职业
  • 关注0
  • 粉丝0
  • 帖子23
热议话题
精选帖子

JAVASE 陈培鸿-Day20 学习心得

[复制链接]
鸿buff 发表于 2020-11-26 14:07:47 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
Llist集合


/** * List的集合遍历方式一:使用CollectionIterator
*/
        Iterator iterator = list.iterator();
        while (iterator.hasNext()){
            String str = (String)iterator.next();
            System.out.println(str);
        }


/**
* List的集合遍历方式二:使用size()+get()模拟数组遍历
*/
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }


/**
  List的集合遍历方式三:使用List的特有迭代器ListIterator
  这个迭代具备倒叙迭代,但是前置条件是必须使迭代器位于List末尾,可以与顺序迭代配合使用,
  或设置迭代器位于List末尾 ListIterator listIterator = list.listIterator();
*/
        ListIterator listIterator = list.listIterator();
        while (listIterator.hasNext()){
            String str = (String)listIterator.next();
            System.out.println(str);
        }
        System.out.println("------------------");
        while (listIterator.hasPrevious()){
            String previous = (String)listIterator.previous();
            System.out.println(previous);
        }

/**
* 集合遍历的方式四:增强for循环,(常用)
*/
for(Object obj : list){
    System.out.println(obj);
}


泛型



泛型通配符的用法:
接口:
public interface Inter<T>{    public default void show(T  t){
        System.out.println(t);
    }
}
类:
public class ObjectTool<T>  {    int xx;
    String xxx;
    T xxxx;

    public void show(T t){
        System.out.println(t);
    }

    public <E>void method(E e){
        System.out.println(e);
    }
}
测试:
public class ObjectToolDemo {    public static void main(String[] args) {
        ObjectTool<String> objectTool = new ObjectTool();
        objectTool.show("true");
        objectTool.method("hello");

        new Inter<Integer>() {
        }.show(100);
    }
}
?通配符
/**  泛型通配符:
   ?:任意数据类型,如果不进行明确 则默认为Object
   ? extends E:向下限定,要求?的类型必须的E的子类或者本身
   ? super E:向上限定,要求?的类型必须为E的父类或者本身
*/

public class Demo02 {
    public static void main(String[] args){
        List<Animal> animals = new ArrayList<Animal>();
        animals.add(new Animal());
        animals.add(new Animal());
        show(animals);
        List<Cat> cats = new ArrayList<Cat>();
        cats.add(new Cat());
        show(cats);
        List<Dog> dogs = new ArrayList<Dog>();
        cats.add(new Cat());
        show(dogs);

    }
    public  static void show (Collection<? extends Animal> c1){
        System.out.println(c1);
    }
}
class Animal{}
class Dog extends Animal{}
class Cat extends Dog{}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
码云社-用代码改变世界!
回复 关闭延时

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

CODESEEDING(码云社)一家致力于程序员成长、以内容为核心、以提问为引导的多元化成长社区。我们在线上为技术爱好者提供了一个优质的交流氛围环境,在线下同样和众多高校联合开办了技术沙龙品牌。
020-85534346
关注我们
  • 访问移动H5版
  • 官方微信公众号

码云社 - CODESEEDING 2.0© 2018-2019 码云社. TOOBUG ( 粤ICP备16114193号-3 )