一、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. Navicat Premium 12永久激活

    参考:https://baijiahao.baidu.com/s?id=1644169351506023288&wfr=spider&for=pc 百度网盘:https://pan.b ...

  2. vs2015 编译boost库

    1.下载boost官网安装包. https://dl.bintray.com/boostorg/release/1.66.0/binaries/ 注意:这里一定要选择好boost版本 如:  boos ...

  3. 8maven配置多个项目之间的依赖

    首先创建两个项目进行测试依赖 创建一个HelloWorld2项目,一个HelloWorld类里面有一个sayHello的方法 然后再创建一个HelloWorldTime项目,一个SayHelloWor ...

  4. Asp.net core 3.1+EF Core2.2.6+Oracle.EntityFrameworkCore2.1.19连接Oracle数据库

    Asp.net Core 3.1+EF Core2.2.6+Oracle.EntityFrameworkCore2.1.19连接Oracle数据库 1.前言 本次主要采用Asp.net core3.1 ...

  5. MySQL概述及入门(一)

    MySql概述及入门(一) 什么是MySQL?    MySQL是当今主流的关系型数据库管理系统(记录是有行有列的数据库) , 可以与Oracle 和SQL Server 竞争 , 是最好RDBMS( ...

  6. SQL Server无法连接到服务器 标题: 连接到服务器 ------------------------------ 无法连接到 DESKTOP-J6I1UIC\SQLEXPRESS1。 ------------------------------ 其他信息: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。

    解决方案: 打开 SQL server 配置管理器 选择 SQL server 服务,找到服务器,右键启动

  7. maven的核心概念——生命周期

    第十一章生命周期 11.1 什么是Maven的生命周期 ●Maven生命周期定义了各个构建环节的执行顺序,有了这个清单,Maven就可以自动化的执行构建命令了. ●Maven有三套相互独立的生命周期, ...

  8. mac 电脑画图软件相关

    sketchbook 免费但是不太好用 sketch, https://www.newasp.net/soft/327640.html 注意:安装前,请开启任何来源.OS X 10.12 及以上版本请 ...

  9. 连接数据库的工具JdbcUtil

    public class JdbcUtil { private static String driver=null;//驱动 private static String url=null;//连接地址 ...

  10. [PAT] A1019 General Palindromic Number

    [题目] https://pintia.cn/problem-sets/994805342720868352/problems/994805487143337984 题目大意:给定一个N和b,求N在b ...