一、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. PythonI/O进阶学习笔记_10.python的多线程

     content: 1. python的GIL 2. 多线程编程简单示例 3. 线程间的通信 4. 线程池 5. threadpool Future 源码分析   ================== ...

  2. nodejs爬虫--抓取CSDN某用户全部文章

    最近正在学习node.js,就像搞一些东西来玩玩,于是这个简单的爬虫就诞生了. 准备工作 node.js爬虫肯定要先安装node.js环境 创建一个文件夹 在该文件夹打开命令行,执行npm init初 ...

  3. vue实现打印功能

    通过npm 安装插件 1.安装  npm install vue-print-nb --save 2.引入  安装好以后在main.js文件中引入 import Print from 'vue-pri ...

  4. 异步处理MultipartFile No such file or directory的分析

    背景 项目中开发导入功能,因为数据量比较大,所以要求后端异步操作(个人觉得前端ajax处理最好,有空再试一下).但是操作中发现改为异步之后,相同代码的情况下会报(No such file or dir ...

  5. 有多少人在面试时,被Java 如何线程间通讯,问哭了?

    正常情况下,每个子线程完成各自的任务就可以结束了.不过有的时候,我们希望多个线程协同工作来完成某个任务,这时就涉及到了线程间通信了. 本文涉及到的知识点: thread.join(), object. ...

  6. 《趣谈 Linux 操作系统》学习笔记(一):为什么要学 Linux 及学习路径

    前言:学习的课程来自极客时间的专栏<趣谈 Linux 操作系统>,作者用形象化的比喻和丰富的图片让课程变得比较易懂,为了避免知识看过就忘,打算通过写学习笔记的形式记录自己的学习过程. Li ...

  7. 吴裕雄--天生自然 R语言开发学习:R语言的安装与配置

    下载R语言和开发工具RStudio安装包 先安装R

  8. [51nod 1126] 求递推序列的第N项 - 矩阵乘法

    #include <bits/stdc++.h> using namespace std; #define int long long const int mod = 7; struct ...

  9. 小程序tabbar和navigator一起使用点不动

    在项目开发中我遇到这样的一个问题,页面需要navigator链接跳转一个页面,tabbar也需要导航到这个页面,最开始还没有添加tabbar的时候,navigator都能够正常跳转,但是当加上tabb ...

  10. TChart-数据编辑(TChartListBox,TeeCommander)

    先上图 功能代码: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Contr ...