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 ...
随机推荐
- webpack打包进行丑化压缩遇到(TypeError Cannot read property 'compilation' of undefined)问题
今天再重新配置老项目node打包环境的时候遇到了一个问题. 在打包的时候报: TypeError: Cannot read property 'compilation' of undefined 错误 ...
- Bounce 弹飞绵羊 HYSBZ - 2002 分块
//预处理出以这个点为起点并跳出这个块的次数和位置 //更新一个点的弹力系数可以只更新这个点以及这个块内之前的点 #include<stdio.h> #include<algorit ...
- 吴裕雄--天生自然 R语言数据可视化绘图(2)
par(ask=TRUE) opar <- par(no.readonly=TRUE) # save original parameter settings library(vcd) count ...
- 生成指定规模大小的redis cluster对关系
需求: 指定一批ip列表,生成指定规模大小的redis cluster主从对应关系. ip_list=(1.1.1.1 2.2.2.2 3.3.3.3 4.4.4.4 5.5.5.5) port=70 ...
- shiro权限认证Realm的四大用法
一.SimpleAccountRealm public class AuthenticationTest { SimpleAccountRealm sar=new SimpleAcc ...
- Life is Strange:《奇异人生》
“生活就是一个陌生人”
- 随机定时修改密码change_passwd.sh
change_passwd.sh #!/bin/sh /usr/bin/chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow /usr/b ...
- Spark学习之路 (二十三)SparkStreaming的官方文档[转]
SparkCore.SparkSQL和SparkStreaming的类似之处 SparkStreaming的运行流程 1.我们在集群中的其中一台机器上提交我们的Application Jar,然后就会 ...
- codeforceCodeForces - 1107G
单调栈 RMQ #include<iostream> #include<cstdio> #include<cmath> #include<cstring> ...
- beautifulsoup4进阶学习笔记
requests库是可以找到想要的东西,基本上几行代码就搞定,但是进一步把有用的内容提取出来变成自己想要的格式来方便后续进行数据分析 正则表达式提取的话,需要一些时间成本,这个可以每天积累一点. 这里 ...