一、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.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

Java连载84-Collection的常用方法、迭代器的更多相关文章

  1. Java | 集合(Collection)和迭代器(Iterator)

    集合(Collection) 集合就是Java中提供的一种 空器,可以用来存储多个数据. 集合和数组都是一个容器,它们有什么区别呢? 数组的长度是固定的,集合的长度是可变的. 数组中存储的是同一类型的 ...

  2. Java连载74-字符串常用方法、正则表达式简介

    一.字符串相关的常用方法简介​ package com.bjpowernode.java_learning; ​ public class D74_1_StringCommonMethod { pub ...

  3. JAVA之旅(十八)——基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用

    JAVA之旅(十八)--基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用 JAVA把完事万物都定义为对象,而我们想使用数据 ...

  4. JAVA基础之集合、Iterator迭代器、泛型及增强for循环

    个人理解: 对于集合,首先要明确的是最顶层的接口是Collection接口类,其包含一些基本的方法以便子类调用,不过在定义的时候最好定义好数据类型,以免遍历时还得必须进行向上转型:特别注意的是其没有关 ...

  5. Java基础之Collection与Collections浅析

    Java基础之Collection与Collections浅析 一.前言: 位于Java.util包下的Collection与Collections都是Java中重要的工具类,它们都是Java集合框架 ...

  6. java基础(18):集合、Iterator迭代器、增强for循环、泛型

    1. 集合 1.1 集合介绍 集合,集合是java中提供的一种容器,可以用来存储多个数据. 在前面的学习中,我们知道数据多了,可以使用数组存放或者使用ArrayList集合进行存放数据.那么,集合和数 ...

  7. 持有对象:总结JAVA中的常用容器和迭代器,随机数 速查

    JAVA使用术语“Collection”来指代那些表示集合的对象,JAVA提供的接口很多,首先我们先来记住他们的层次结构: java集合框架的基本接口/类层次结构 java.util.Collecti ...

  8. 【转】java 容器类使用 Collection,Map,HashMap,hashTable,TreeMap,List,Vector,ArrayList的区别

    原文网址:http://www.360doc.com/content/15/0427/22/1709014_466468021.shtml java 容器类使用 Collection,Map,Hash ...

  9. Java集合框架Collection

    转自:http://www.cdtarena.com/javapx/201306/8891.html [plain] view plaincopyprint?01.在 Java2中,有一套设计优良的接 ...

  10. Java基础学习-Collection体系结构和迭代测试

    package Collection; import java.util.ArrayList; import java.util.Collection; import java.util.Iterat ...

随机推荐

  1. svn cleanup 失败问题解决

    将sqlite3.exe放到.svn的同级目录 4.启动cmd执行sqlite3 .svn/wc.db "select * from work_queue" 5.启动cmd执行sq ...

  2. SpringCloud踩坑

    今天在使用 SpringCloud 时遇到了一个问题,感觉有不少小伙伴会遇到,所以记录下来 版本说明 SpringBoot 2.2.4.RELEASE SpringCloud Greenwich.SR ...

  3. RAID | 故障处理

    RAID | 故障处理 Unconfigured(good), Spun Up 背景:磁盘替换后在导入外部配置时提示失败,磁盘状态如题. MegaCli -pdgetmissing -a0查看miss ...

  4. SVN仓库备份和迁移

    SVN仓库备份和迁移 author: yunqimg(ccxtcxx0) 前言 本文主要是讲 SVN 仓库的全量备份和增量备份,只包括基本操作. 如有疑问请参考 References. 仓库备份 sv ...

  5. Oracle12c传统数据库模式 OGG

    OGG12C 配置 环境配置: 安装数据库Oracle12c 安装源端OGG:oggs  PORT:7809 安装目标端OGG:oggt   PORT:7909 源端和目标端地址:127.0.0.1 ...

  6. Android_小账本_筛选功能的实现

    昨天对小账本的相关功能做了完善,新增了筛选功能. 支持对类型.收支项.日期进行修改. 但暂时尚不完善,只能针对相关小项进行筛选,无法连续对小项的结果进行筛选.这一功能预计在本周三进行完善. 相关代码 ...

  7. 配置 vim 过程中必须解决的问题

    网络问题 在使用 github 作为插件下载源的时候, 容易出现网络连接超时等错误 在使用 gitee 作为插件下载源的时候, 子模块可能会出现下载超时 解决方案有以下两个: 使用 VPN , 改善访 ...

  8. 【笔记】机器学习 - 李宏毅 - 11 - Keras Demo2 & Fizz Buzz

    1. Keras Demo2 前节的Keras Demo代码: import numpy as np from keras.models import Sequential from keras.la ...

  9. 前端-2019 history 与 location

    HTML5 API解析之Window.history历史记录 1.简介 window.history是用来保存用户在一个会话期间的网站访问记录,并提供相应的方法进行追溯.其对应的成员如下: 方法:ba ...

  10. Python之pptx实现添加内容与删除(移动)页操作

    问题背景 大量表格数据需要生成指定格式的ppt文件,内容以文字和表格为主,首尾页与内容有固定格式.博主不熟悉VBA操作,希望通过模板用Python完成自动化. 基本思路 使用xlrd模块读取xlsx文 ...