Java 集合框架
2023-06-13 09:16:56 时间
如何使用迭代器
通常情况下,你会希望遍历一个集合中的元素。例如,显示集合中的每个元素。
一般遍历数组都是采用for循环或者增强for,这两个方法也可以用在集合框架,但是还有一种方法是采用迭代器遍历集合框架,它是一个对象,实现了Iterator 接口或 ListIterator接口。
迭代器,使你能够通过循环来得到或删除集合的元素。ListIterator 继承了 Iterator,以允许双向遍历列表和修改元素。
遍历 ArrayList
import java.util.*;
public class Test{
public static void main(String[] args) {
List<String> list=new ArrayList<String>();
list.add("Hello");
list.add("World");
list.add("HAHAHAHA");
//第一种遍历方法使用 For-Each 遍历 List
for (String str : list) { //也可以改写 for(int i=0;i<list.size();i++) 这种形式
System.out.println(str);
}
//第二种遍历,把链表变为数组相关的内容进行遍历
String[] strArray=new String[list.size()];
list.toArray(strArray);
for(int i=0;i<strArray.length;i++) //这里也可以改写为 for(String str:strArray) 这种形式
{
System.out.println(strArray[i]);
}
//第三种遍历 使用迭代器进行相关遍历
Iterator<String> ite=list.iterator();
while(ite.hasNext())//判断下一个元素之后有值
{
System.out.println(ite.next());
}
}
}
遍历 Map
import java.util.*;
public class Test{
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("1", "value1");
map.put("2", "value2");
map.put("3", "value3");
//第一种:普遍使用,二次取值
System.out.println("通过Map.keySet遍历key和value:");
for (String key : map.keySet()) {
System.out.println("key= "+ key + " and value= " + map.get(key));
}
//第二种
System.out.println("通过Map.entrySet使用iterator遍历key和value:");
Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, String> entry = it.next();
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
}
//第三种:推荐,尤其是容量大时
System.out.println("通过Map.entrySet遍历key和value");
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
}
//第四种
System.out.println("通过Map.values()遍历所有的value,但不能遍历key");
for (String v : map.values()) {
System.out.println("value= " + v);
}
}
}
相关文章
- java集合介绍_java代码分析框架
- Java 集合类图[通俗易懂]
- Java集合框架关系图谱
- java开发常用四大框架_大牛经验!常用的5款Java框架汇总[通俗易懂]
- java开发常用四大框架_Java 后台开发框架[通俗易懂]
- java redis锁_Java中Redis锁的实现[通俗易懂]
- java基本数据类型 think in java_Think in Java(一):Java基础[通俗易懂]
- Java集合框架-Collection02- LinkedHashSet
- java list 转json 字符串_Java之JSON字符串与List集合之间相互转换
- Java集合面试题_java是什么
- JavaAD2 - Java集合框架
- 【Java集合框架】篇五:Map接口
- 【Java集合框架】篇六:Collections工具类
- Java工程师多年之后看指针
- java的集合框架
- Java Activiti6.0 spring5 SSM 工作流引擎 审批流程 java项目框架详解编程语言
- Java基础学习笔记十五 集合、迭代器、泛型详解编程语言
- java集合框架02详解编程语言
- java 标准输出与标准错误 out与 err 区别 用法 联系 java中的out与err区别 System.out和System.err的区别 System.out.println和System.err.println的区别 Java重定向System.out和System.err详解编程语言
- 标题:Linux下发布Java:开创新纪元(linux发布java)
- 客户端建立Redis集群:Java客户端指南(redis集群java)
- Oracle与Java的连接:揭秘数据库开发技术之间的神奇联系(oracle连接java)
- Linux调用Java实现编程快速开发(linux调用java)
- 挑战未来:学习Linux与Java(学linux还是java)
- 环境的基础Linux:Java环境的支撑者(linux是java)
- 使用Java轻松导出MySQL数据(java导出mysql)
- Java编程实现MySQL表备份(java备份mysql表)
- Linux下开发靠谱的Java应用(linux基于java)
- Java编程与Oracle技术创造技术价值的奥秘(java编程oracle)
- Java如何帮助掌握Oracle(java了解oracle)