Java连载84-Collection的常用方法、迭代器
一、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的常用方法、迭代器的更多相关文章
- Java | 集合(Collection)和迭代器(Iterator)
集合(Collection) 集合就是Java中提供的一种 空器,可以用来存储多个数据. 集合和数组都是一个容器,它们有什么区别呢? 数组的长度是固定的,集合的长度是可变的. 数组中存储的是同一类型的 ...
- Java连载74-字符串常用方法、正则表达式简介
一.字符串相关的常用方法简介 package com.bjpowernode.java_learning; public class D74_1_StringCommonMethod { pub ...
- JAVA之旅(十八)——基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用
JAVA之旅(十八)--基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用 JAVA把完事万物都定义为对象,而我们想使用数据 ...
- JAVA基础之集合、Iterator迭代器、泛型及增强for循环
个人理解: 对于集合,首先要明确的是最顶层的接口是Collection接口类,其包含一些基本的方法以便子类调用,不过在定义的时候最好定义好数据类型,以免遍历时还得必须进行向上转型:特别注意的是其没有关 ...
- Java基础之Collection与Collections浅析
Java基础之Collection与Collections浅析 一.前言: 位于Java.util包下的Collection与Collections都是Java中重要的工具类,它们都是Java集合框架 ...
- java基础(18):集合、Iterator迭代器、增强for循环、泛型
1. 集合 1.1 集合介绍 集合,集合是java中提供的一种容器,可以用来存储多个数据. 在前面的学习中,我们知道数据多了,可以使用数组存放或者使用ArrayList集合进行存放数据.那么,集合和数 ...
- 持有对象:总结JAVA中的常用容器和迭代器,随机数 速查
JAVA使用术语“Collection”来指代那些表示集合的对象,JAVA提供的接口很多,首先我们先来记住他们的层次结构: java集合框架的基本接口/类层次结构 java.util.Collecti ...
- 【转】java 容器类使用 Collection,Map,HashMap,hashTable,TreeMap,List,Vector,ArrayList的区别
原文网址:http://www.360doc.com/content/15/0427/22/1709014_466468021.shtml java 容器类使用 Collection,Map,Hash ...
- Java集合框架Collection
转自:http://www.cdtarena.com/javapx/201306/8891.html [plain] view plaincopyprint?01.在 Java2中,有一套设计优良的接 ...
- Java基础学习-Collection体系结构和迭代测试
package Collection; import java.util.ArrayList; import java.util.Collection; import java.util.Iterat ...
随机推荐
- PythonI/O进阶学习笔记_10.python的多线程
content: 1. python的GIL 2. 多线程编程简单示例 3. 线程间的通信 4. 线程池 5. threadpool Future 源码分析 ================== ...
- nodejs爬虫--抓取CSDN某用户全部文章
最近正在学习node.js,就像搞一些东西来玩玩,于是这个简单的爬虫就诞生了. 准备工作 node.js爬虫肯定要先安装node.js环境 创建一个文件夹 在该文件夹打开命令行,执行npm init初 ...
- vue实现打印功能
通过npm 安装插件 1.安装 npm install vue-print-nb --save 2.引入 安装好以后在main.js文件中引入 import Print from 'vue-pri ...
- 异步处理MultipartFile No such file or directory的分析
背景 项目中开发导入功能,因为数据量比较大,所以要求后端异步操作(个人觉得前端ajax处理最好,有空再试一下).但是操作中发现改为异步之后,相同代码的情况下会报(No such file or dir ...
- 有多少人在面试时,被Java 如何线程间通讯,问哭了?
正常情况下,每个子线程完成各自的任务就可以结束了.不过有的时候,我们希望多个线程协同工作来完成某个任务,这时就涉及到了线程间通信了. 本文涉及到的知识点: thread.join(), object. ...
- 《趣谈 Linux 操作系统》学习笔记(一):为什么要学 Linux 及学习路径
前言:学习的课程来自极客时间的专栏<趣谈 Linux 操作系统>,作者用形象化的比喻和丰富的图片让课程变得比较易懂,为了避免知识看过就忘,打算通过写学习笔记的形式记录自己的学习过程. Li ...
- 吴裕雄--天生自然 R语言开发学习:R语言的安装与配置
下载R语言和开发工具RStudio安装包 先安装R
- [51nod 1126] 求递推序列的第N项 - 矩阵乘法
#include <bits/stdc++.h> using namespace std; #define int long long const int mod = 7; struct ...
- 小程序tabbar和navigator一起使用点不动
在项目开发中我遇到这样的一个问题,页面需要navigator链接跳转一个页面,tabbar也需要导航到这个页面,最开始还没有添加tabbar的时候,navigator都能够正常跳转,但是当加上tabb ...
- TChart-数据编辑(TChartListBox,TeeCommander)
先上图 功能代码: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Contr ...