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 ...
随机推荐
- Git的基本使用 -- 文件的添加、撤销、对比、删除
显示当前工作区.暂存区.仓库的状态 git status 当工作区的所有文件都提交到仓库,并和仓库保持一致时 有修改的文件时,会显示有改动的文件,并提示如何提交这些修改 添加到暂存区,还未提交到仓库时 ...
- window10 cmd 常见命令
AT 计划在计算机上运行的命令和程序. ATTRIB 显示或更改文件属性. BREAK 设置或清除扩展式 CTRL+C 检查. CACLS 显示或修改文件的访问控制列表(ACLs). CALL 从另一 ...
- 重启防火墙(iptables)命令#service iptable restart失效
Redirecting to /bin/systemctl restart iptables.ser linux下执行防火墙相关指令报错: Redirecting to /bin/systemctl ...
- Quartz.NET - 教程 5: 简单触发器
译者注: 目录在这 Quartz.NET 3.x 教程 原文在这 Lesson 5: SimpleTrigger 如果你需要在特定的时间点执行一次作业, 或者在特定的时间点执行一次作业, 然后在特定的 ...
- (办公)记事本_linux压缩命令
参考谷粒学院的linux视频教程:http://www.gulixueyuan.com/course/300/task/7091/show 在Linux中可以识别的常见的压缩格式有十几种,比如&quo ...
- 【NLP】暑假课作业3 - 词性标注(简单词频概率统计)
作业任务: 使用98年人民日报语料库进行词性标注训练及测试. 作业输入: 98年人民日报语料库(1998-01-105-带音.txt),用80%的数据作为训练集,20%的数据作为验证集. 运行环境: ...
- Mybatis Dao接口与Xml文件不匹配的问题:Invalid bound statement (not found)
<!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉. --> <resources> <resource> <directory&g ...
- Python中not、and、or的优先级
优先级:not > and > or 1.not与紧跟其后的那个条件是不可分割的2.如果条件语句全部由纯and.或纯or链接,按照从左到右的顺序依次计算即可 print(True and ...
- 基于光盘配置yum源
#开启自动挂载服务 systemctl start autofs #设置开机自动挂载 systemctl enable autofs #光盘自动挂载路径/misc/cd “包含repoda ...
- Python语法速查: 14. 测试与调优
返回目录 本篇索引 (1)测试的基本概念 (2)doctest模块 (3)unittest模块 (4)调试器和pdb模块 (5)程序探查 (6)调优与优化 (1)测试的基本概念 对程序的各个部分建立测 ...