开发中,常有场景:遍历集合,依次判断是否符合条件,如符合条件则删除当前元素. 不知不觉中,有些陷阱,不知你有没有犯. 一.漏网之鱼-for循环递增下标方式遍历集合,并删除元素 如果你用for循环递增下标方式遍历集合,在遍历过程中删除元素,你可能会遗漏了某些元素.说那么说可能也说不清楚,看以下示例: import java.util.ArrayList; import java.util.List; public class ListTest_Unwork { public static void
1.输入班级人数,统计每个人的姓名,性别,年龄:集合与数组 //Console.Write("请输入班级人数:"); //int a = int.Parse(Console.ReadLine()); //ArrayList al = new ArrayList(); //for (int i = 0; i < a;i++ ) //{ // string [] name =new string[3]; // Console.Write("请输入第{0}个人的姓名:&quo
当我们对集合foreach遍历时,不能直接移除遍历的集合的元素,解决的方法有很多种,见我之前的随笔: http://www.cnblogs.com/527289276qq/p/4331000.html 除此之外,我今天发现了利用linq中的ToArray()方法,也可以实现遍历集合,移除集合中的元素,代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using S
import java.util.ArrayList; import java.util.List; public class Test { public static void main(String[] args) { List<String> list1 = new ArrayList(); List<String> list2 = new ArrayList(); // 第一个集合 list1.add("apple"); list1.add("
在java开发中有时候我们需要对List集合中的元素按照一定的规则进行排序,比如说有个Person的集合,我们要根据Person的age属性进行排序输出,这就需要用到Java中提供的对集合进行操作的工具类Collections,其中的sort方法,大家看虾米哥的例子如下: 1.Person类: package www.itxm.cn; public class Person { private String id; private String name; private int age; pu
删除 list 集合中的元素,当删除的元素有多个的时候,只能使用迭代器来删除. 当删除 list 集合中的元素只有一个的时候,有三种方法都可以实现. import java.util.ArrayList; import java.util.Iterator; import java.util.List; /** * 删除 list 集合中的元素(当删除的元素有多个的时候,只能使用迭代器来删除.) * @author bin * */ public class TestList { public