一般常用的有三种:普通for循环,foreach循环,Iterator循环
package com.hzy.demo; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class Demo { private static void printList(List<String> l) { System.out.print("List: "); for (String s : l) { System.out.print(s); } System.out.println(); } public static void main(String[] args) { /** 创建一个List */ List<String> li = new ArrayList<String>(); for (int i = 0; i < 20; i++) { String str = String.format("%d%c ", i, 'a' + i); li.add(str); } printList(li); /** 采用迭代器遍历,可根据条件删除 */ Iterator<String> iterator = li.iterator(); while (iterator.hasNext()) { String item = iterator.next(); if (item.equals("0a ")) { iterator.remove(); } } printList(li); /** foreach循环,不能根据条件可以删除:java.util.ConcurrentModificationException */ for (String string : li) { if (string.equals("1b ")) { // li.remove(string); } } printList(li); /** for循环, 每次要重新计算list大小 */ for (int i = 0; i < li.size(); i++) { if (li.get(i).equals("2c ")) { li.remove(i); } } printList(li); } }
foreach循环体内不要删除操作,使用普通for循环或迭代器操作。
相关推荐
除此之外,Java对于数据集合的遍历,也提供了几种不同的方式。开发人员必须要清楚的明白每一种遍历方式的特点、适用场合、以及在不同底层实现上的表现。下面就详细分析一下这一块内容。 数据元素是怎样在内存中存放...
WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB...
WDSsoft的一款免费源代码 JCT 1.0,它是一个Java加密解密常用工具包。 Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB...
29、List遍历方式有多少种 76 30、Map怎么遍历 76 31、怎么获取Map所有的key,所有的value 77 32、获取Class的实例有几种方式 77 33、怎么获取类中所有的方法,所有属性 77 34、JDBC常用接口有哪些? 77 35、...
主要介绍了Java中List集合对象去重及按属性去重的8种方法,本文给大家介绍的非常详细,对大家的学习或工作具有一地的参考借鉴价值,需要的朋友可以参考下
1.JDK 和 JRE 有什么区别? 2.Java 内存区域 3.== 和 equals 的区别是什么? 4.final 在 Java 中有什么作用? 5.String 类的常用方法...8.Map集合几种遍历方式? 9.List集合的特性 10.如何实现数组和 List 之间的转换?
76.EJB有哪几种?区别是什么? 77.JavaBean与EJB有什么区别? 78.软件开发生命周期有哪几个阶段? 79.软件开发有哪些因素? 80.软件开发中如何进行版本控制? 81.UML中,类视图如何表示类中的继承与聚合? 82.客户端...
51.5. java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 25 52. 数据连接池 25 52.1. 连接池的基本原理: 25 52.2. 连接池的工作机制 25 52.3. 建立连接池 26 ...
涉及到各种效率问题等,里面最好阅读一下源码 集合的遍历方法和使用iterator来遍历的区别,集合可否修改,能否删除其中的一 个元素,然后size是否变化等等问题 JAVA垃圾回收,内存结构 异常的种类 Object类,哪些...
栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的方式进行处理。 堆是栈的一个组成元素 19、forward 和redirect的区别 forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL...
本书是第II卷,以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用Java进行桌面程序开发各个方面的知识和技巧,主要包括Java语法与面向对象技术、Java高级应用、窗体与控件应用、文件操作典型...
Java Web 程序设计教程 30 Student s=list.get(i);// System.out.println(s.getSno()+"," +s.getSname()+","+s.getScore());...实现该类并包含添加、删除、修改、按姓名查等几个方法。编写 主程序测试。 参考如下。
栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的方式进行处理。 堆是栈的一个组成元素 22、forward 和redirect的区别 forward是服务器请求资源,服务器直接访问目标地址的URL,把...
sort里面是几种排序方法:冒泡排序、插入排序、选择排序、希尔排序 recursion recursion里面是递归的案例,迷宫回溯、一些递归测试、八皇后问题 dac 分治算法里面是汉诺塔问题 dynamic dynamic背包问题 search ...
import java.util.Scanner; class Bissextile{ public static void main(String[] arge){ System.out.print("请输入年份"); int year; //定义输入的年份名字为“year” Scanner scanner = new Scanner(System.in...
有几种画法?艺术大家通常是创造出自己的套路,比如明末清初,水墨画法开始成熟,这时画树就不用勾勒这个模式了,而是一笔 下去,浓淡几个叶子,待毛笔的水墨要干枯时,画一下树干,这样,一个活生写意的树就画出来. 我上面...