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 ...
随机推荐
- JS DOM用不同方法获取节点及对节点插入、复制和移除
操作节点的方法 appendChild() insertBefore() replaceChild() cloneNode() normalize() splitText() sppendChild( ...
- Ubuntu P40显卡配置CUDA 10.1,CUDNN 7.6,Conda 5.2.0, Tensorflow-gpu 1.8
1. 安装CUDA 禁用nouveau vim /etc/modprobe.d/blacklist.conf 最后两行加入 blacklist nouveau options nouveau mode ...
- Exception in thread "main" java.lang.NoClassDefFoundError:org/springframework/beans/factory/config/EmbeddedValueResoler
参考自:https://www.cnblogs.com/quanbin/p/11100337.html 解决方法:检查发现spring的核心包spring-bean版本和其他核心包版本不同,更改为和其 ...
- Ubuntu18--使用vi编辑器方向键以及Backspace乱码问题
解决方法一: 可以进入vi /etc/vim/vimrc.tiny目录对vim配置文件进行修改 修改内容: 修改完成就可以正常使用了.(换行的时候Esc退出编译状态,回车换行,输入第二句话,在按Esc ...
- 纪中21日c组T1 1575. 二叉树
1575. 二叉树 (File IO): input:tree.in output:tree.out 时间限制: 1000 ms 空间限制: 262144 KB 具体限制 Goto Probl ...
- opencv —— getTickCount、getTickFrequency 计时函数
getTickCount 函数 返回 CPU 自某个事件(如启动电脑)以来走过的时钟周期数. getTickFrequency 函数 返回 CPU 一秒钟所走过的时钟周期数. 二者结合使用,可以用来计 ...
- opencv —— createTrackbar、getTrackbarPos 滑动条的创建和使用
创建滑动条:createTrackbar 函数 createTrackbar 函数用于创建一个可以调整数值的滑动条,并将滑动条附加在指定的窗口上. int createTrackbar(const s ...
- C语言 杂货整理
C语言 杂货整理 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #include ...
- Python3 基本语法 学习笔记
如何定义python源文件的文件编码 如果想要定义文件代码的编码,一个特殊的注释应该放到源文件的第一或第二行,例如: # coding=<encoding name> 或 使用一种大多数编 ...
- linux基础之Mini Linux制作
一.编译一个简单的linux步骤如下: # yum groupinstall ""Development Tools" "Server Platform Dev ...