一、Collections的常用方法介绍

1.承接上次连载,先介绍几个简单的常用方法

package com.bjpowernode.java_learning;

import java.util.*;

public class D84_1_CommonMethodOfCollection {

  public static void main(String[] args) {

    //1.创建集合

    Collection c = new ArrayList();//多态

    //2.添加元素

    c.add(1);//JDK5.0之后自动装箱

    c.add(new Integer(100));

    Object o = new Object();

    c.add(o);//Collection集合只能单个存储元素,并且只能存储引用类型

    Customer84 cus = new Customer84("xiaoming",47);

    c.add(cus);

    //3.获取元素的个数

    System.out.println(c.size());

    System.out.println("======================");

    //4.将集合转换为Object类型的数组

    Object[] objs = c.toArray();

    for(int i =0;i<objs.length;i++) {//数组中length是属性,列表中是方法

      System.out.println(objs[i]);

    }

    //5.清空

    c.clear();   

    System.out.println("======================");

    System.out.println(c.size());

  }

}

class Customer84{

  String name ;

  int age ;

  Customer84(String name,int age){

    this.name = name;

    this.age = age;

  }

  public String toString() {

    return "Customer[name="+name+",age="+age+"]";

  }

}

二、迭代器

1.Iterator iterator();获取集合所依赖的迭代器对象,通过迭代器中的方法完成集合中的迭代(遍历)

2.注意:这种方式是所有集合调用的遍历方式


package com.bjpowernode.java_learning;

import java.util.*;

​

public class D84_2_Iterator {

  public static void main(String[] args) {

    //创建集合对象

    Collection c = new LinkedList();

    //添加元素

    c.add(100);

    c.add(3.14);//自动装箱

    c.add(false);

    //迭代,遍历

    //1.获取迭代器对象

    //不需要关心底层集合的具体类型,所欲集合以来的迭代器都是了java.util.Iterator;接口

    //java.util.LinkedList$ListItr类是LinkedList集合所依赖的迭代器

    //java.util.AbstractLisr$Itr类是ArrayList集合所依赖的迭代器

    Iterator it = c.iterator();

    //迭代器是面向接口编程,it是引用,保存了内存地址,指向堆中的“迭代器对象”

    System.out.println(it);//java.util.LinkedList$ListItr@30c7dale  说明这是一个内部类

    //如果c是一个ArrayList,那么这里打印的是java.util.AbstractList$Itr@de6cd

    //2.开始调用方法,完成遍历,迭代

    while(it.hasNext()) {

      Object element = it.next();

      System.out.println(element);

    }

    /**

     * boolean b = it.hasNext();判断是否有更多的元素,如果有,就返回true

     * Object o = it.next();将迭代器向下移动一位,并且取出指向的元素

     * 原则:嗲用it.next()方法之前必须调用it.hasNext();

     *

     */

    //for循环

    for(Iterator its = c.iterator();its.hasNext();) {

      Object o = its.next();

      System.out.println(o);

    }

  }

}

三、源码:

D84_1_CommonMethodOfCollection.java

D84_2_Iterator.java

https://github.com/ruigege66/Java/blob/master/D84_1_CommonMethodOfCollection.java

https://github.com/ruigege66/Java/blob/master/D84_2_Iterator.java

2.CSDN:https://blog.csdn.net/weixin_44630050

3.博客园:https://www.cnblogs.com/ruigege0000/

4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

最新文章

  1. Java的Json解析包FastJson使用
  2. 如何让 UITableViewCell 中的 imageView 大小固定
  3. KMP算法心得
  4. SSH配置私钥登陆服务器
  5. [vijos P1112] 小胖的奇偶
  6. [物理学与PDEs]第4章 反应流体力学
  7. SqlBulkCopy与触发器,批量插入表(存在则更新,不存在则插入)
  8. oracle连接错误
  9. class0513(html基础加强)
  10. activity-intent-startActivity-startActivityResult
  11. linq读书笔记1-linq 初步
  12. 《javascript 高级程序设计》笔记
  13. Ubuntu12.04 LTS 32位 安装ns-2.35
  14. 使用Java程序读取JPG Tif等格式图片的exif信息
  15. js 计算后样式封装
  16. linux下的音量控制器alsamixer 桌面v7
  17. ABP框架系列之二十七:(Feature-Management-特征管理)
  18. PJ可能会考的模拟与枚举-自学教程
  19. 【题解】Luogu CF343D Water Tree
  20. JVM异常之:栈溢出StackOverflowError

热门文章

  1. springboot~HttpPut开启application/x-www-form-urlencoded
  2. Git常用命令 - 随时更新
  3. Maven国内镜像配置(阿里云)-sunziren
  4. VSCode常用插件之vscode-stylelint使用
  5. 【新人赛】阿里云恶意程序检测 -- 实践记录10.13 - Google Colab连接 / 数据简单查看 / 模型训练
  6. kaggle之猫狗数据集下载
  7. python3.6安装PyUserInput
  8. 11、C++之const类成员变量,const成员函数
  9. jdk8配置
  10. OpenCV基本绘图函数