java中的数组集合常用的遍历方法
来源:互联网 发布:流行网络词语成因例子 编辑:程序博客网 时间:2024/05/22 06:33
1. for循环
2. forEach循环
3. Iterator迭代器
4. Enumeration迭代器
/* 数组,集合的遍历方式:
* */
/* 1. 普通for循环 */
String[] strings = new String[10];
for( inti=0; i<strings.length;i++ ){
strings[i] ="dffff"+i;
}
/* 2. 增强for循环 for( value : collection ) */
System.out.println();
for( String string :strings ){
System.out.println(string);
}
System.out.println();
/* 迭代器:
* 迭代器对象提供了一些方法专门处理集合中的元素。遍历,删除,获取集合中的元素,叫做迭代器;
*
* 正式由于每一个容器都有取出元素的功能。这些功能定义都一样,只不过实现的具体方式不同,所以对共性的功能进行了抽取,
* 从而出现了Iterator接口。而每一个容器都在内部对该接口进行了内部类的实现。也就是将取出方式的细节进行封装;
*
*
* 2.3.1 Iterable (Iterable是协议接口, Iterator是迭代器对象 )
* jdk1.5之后添加的新接口,Collection的父接口。实现了Iterable的类就是可迭代的,并且支持增强for循环.该接口
* 只有一个方法即获取迭代器的方法iterator(),可以获取每个容器自身的迭代器Iterator;
* Collection集合容器都需要获取迭代器(Iterator),于是在5.0之后又进行了抽取将获取容器迭代器的Iterator()方法
* 放入到了Iterable接口中. Collection接口继承了Iterable,所以Collection体系都具备获取自身迭代器的方法,只不
* 过每个子类集合都进行了重写;
*
*
* 2.3.2 Iterator ( 迭代器对象 )
*
* Iterator<T> iterator() 返回该集合的迭代器对象;
*
* Iterator接口定义的方法:
* Iterator 该接口是集合的迭代器接口类, 定义了常见的迭代方法:
* (1) boolean hasNext()
* 判断集合中是否有元素,如果有元素可以迭代就返回true,否则返回fasle;
*
* (2) E next()
* 返回迭代的下一个元素,注意:如果美誉哦下一个元素时,调用next(),会抛异常NoSuchElementException
*
* (3) void remove()
* 从迭代器指向的集合中移除迭代器返回的最后一个元素;
*
*
* 正常的遍历通过 hasNext(),next()方法就可以搞定;
* 但是总有特殊情形,即在遍历的过程中,需要出现删除操作; (即关于 viod remove()方法 )
*
* 1. 在普通的for循环中,如果调用remove方法,就会导致循环出错,因为循环过程中list.size()的大小发生了变化,
* 所以会导致错误。
*
* 2. 迭代器的快速失败机制:
* 由于集合在多线程下遍历情形下,具有线程不安全的特性,所以使用起来需要注意遍历过程中被增加删除的问题;
* 在对集合进行迭代过程中,除非通过迭代器自身remove或者add对集合进行修改,否则在其他线程中以任何形式对集合
* 进行修改,java会抛出并发修改异常ConcurrentModificationException, 普通迭代器只支持在迭代过程中的删除动作;
*
* 3. 其实还可以通过创建新的集合,将需要的元素添加进新集合的方式来达到添加和删除的目的;
* */
/* 3. 迭代器遍历 */
Collection<String> list = new ArrayList<String>();
list.add("计算机网络");
list.add("现代操作系统");
list.add("java编程思想");
list.add("java核心技术");
list.add("java语言程序设计");
System.out.println(list);
System.out.println("");
System.out.print("[");
for( Iterator<String> iterator = list.iterator(); iterator.hasNext(); ){
String string = iterator.next();
System.out.print(string+", ");
}
System.out.println("]");
/* List特有的迭代器ListIterator
*
* 普通的Iterator 只具备三个接口 boolean hasNext(); void next(); Object remove();
*
* 而List具有自己特有的迭代器ListIterator:
* (1) hasNext();
* (2) next();
* (3) remove();
* (4) add(E e); 将指定的元素插入列表,该元素直接插入到next返回的下一个元素的前面;(如果有)
* (5) set(E o); 用指定元素替换next或者previous返回的最后一个元素; //替换功能
* (6) hasPrevious(); 逆向遍历列表,列表迭代器有多个元素,返回true;
* (7) previous(); 逆向遍历列表,返回列表中的前一个元素;
*
*
* add(E e); set(E o); remove()操作的元素都是迭代器的游标当前指向的元素对象;
*
* */
ArrayList<String> lst = new ArrayList<String>();
lst.add("11111");
lst.add("22222");
lst.add("33333");
ListIterator<String> iterator = (ListIterator<String>)lst.listIterator();
iterator.next();
iterator.add("12345");
iterator.next();
iterator.remove();
System.out.println( lst );
/* Enumerationd迭代器
*
* 这是一个被旧版本的迭代器; 但是在servlet中总能见到它的身影;
*
* 接口:
* (1) boolean hasMoreElements() 询问是否还有下一个元素
* (2) E nextElement() 获取下一个元素;( 需要hasMoreElements()配合使用 )
* */
Enumeration<String> enumeration;
while (enumeration.hasMoreElements()) {
String string = (String)enumeration.nextElement();
}
- java中的数组集合常用的遍历方法
- 数组 --------集合中的各种遍历方法!!!!!--binbinyang
- Java遍历集合、数组的四种方法
- Java遍历集合、数组的四种方法
- java遍历map集合中的元素的方法。
- JAVA 集合遍历的方法
- Java集合的遍历方法
- 遍历集合、数组的四种方法
- 常用集合的遍历方法和特点
- java中的数组各项遍历的俩个方法
- OC视频3.8,3.9(集合对象之数组的常用方法)3.10(数组的遍历)
- 数组的定义、遍历、常用方法
- Java集合的遍历Iterator的方法
- JAVA中的集合常用方法介绍
- JAVA中的集合常用方法介绍
- java集合Collection中的常用方法
- java中的list集合的遍历
- 遍历查找集合或者数组中的某个元素的值 java代码 详解 Android开发
- Java编程思想第四版 第15章 泛型
- MySQL登录时出现 Access denied for user 'root'@'xxx.xxx.xxx.xxx' (using password: YES) 的原因及解决办法
- FileZilla连接成功但没显示所有目录
- boostrapTable的refresh和refreshOptions区别
- UI性能测试
- java中的数组集合常用的遍历方法
- 70. Climbing Stairs
- 设计模式深入学习--Visitor 访问者模式(行为型模式)
- 【Codeforces 758 D Ability To Convert】
- 第九章用户事件-触摸事件
- LeetCode 451. Sort Characters By Frequency
- 我的服务端之AOI概述
- 180度vr直播用,鱼眼视频展开到全景
- 复合索引的优点和注意事项