Java中List集合的三种遍历方式(全网最详)
介绍3种方式遍历list集合
1 创建一个model
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | public class News{ private int id; private String title; private String author; public News( int id, String title, String author) { super (); this .id = id; this .title = title; this .author = author; } public int getId() { return id; } public void setId( int id) { this .id = id; } public String getTitle() { return title; } public void setTitle(String title) { this .title = title; } public String getAuthor() { return author; } public void setAuthor(String author) { this .author = author; } } |
方式一 第一种、最基础的遍历方式:for循环,指定下标长度,使用List集合的size()方法,进行for循环遍历
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | import java.util.ArrayList; public class Demo01 { public static void main(String[] args) { ArrayList<News> list = new ArrayList<News>(); list.add( new News( 1 , "list1" , "a" )); list.add( new News( 2 , "list2" , "b" )); list.add( new News( 3 , "list3" , "c" )); list.add( new News( 4 , "list4" , "d" )); for ( int i = 0 ; i < list.size(); i++) { News s = (News)list.get(i); System.out.println(s.getId()+ " " +s.getTitle()+ " " +s.getAuthor()); } } } |
第二种、较为简洁的遍历方式:使用foreach遍历List,但不能对某一个元素进行操作(这种方法在遍历数组和Map集合的时候同样适用)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | import java.util.ArrayList; public class Demo02 { public static void main(String[] args) { ArrayList<News> list = new ArrayList<News>(); list.add( new News( 1 , "list1" , "a" )); list.add( new News( 2 , "list2" , "b" )); list.add( new News( 3 , "list3" , "c" )); list.add( new News( 4 , "list4" , "d" )); for (News s : list) { System.out.println(s.getId()+ " " +s.getTitle()+ " " +s.getAuthor()); } } } |
第三种、适用迭代器Iterator遍历:直接根据List集合的自动遍历
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | import java.util.ArrayList; public class Demo03 { public static void main(String[] args) { ArrayList<News> list = new ArrayList<News>(); list.add( new News( 1 , "list1" , "a" )); list.add( new News( 2 , "list2" , "b" )); list.add( new News( 3 , "list3" , "c" )); list.add( new News( 4 , "list4" , "d" )); Iterator<News> iter = list.iterator(); while (iter.hasNext()) { News s = (News) iter.next(); System.out.println(s.getId()+ " " +s.getTitle()+ " " +s.getAuthor()); } } } |
作者:RichardCui
出处:https://www.cnblogs.com/yachao1120/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。该文章也同时发布在我的独立博客中-RichardCuiBlog。
分类:
java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架