精华内容
下载资源
问答
  • import java.util.ArrayList;import java.util.List;...public class TextDemo1 { public static void main(String[] args) { //创建集合对象 List list = new ArrayList(); //添加元素 list...
    import java.util.ArrayList;
    import java.util.List;
    import java.util.ListIterator;


    public class TextDemo1 {


    public static void main(String[] args) {
    //创建集合对象
    List list = new ArrayList();

    //添加元素
    list.add("hello");
    list.add("music");
    list.add("woo");

    //方法一:迭代器迭代元素,迭代器修改元素
    //由于Iterator迭代器没有添加功能,所以使用其子类ListIterator
    // ListIterator lit = list.listIterator();
    // while(lit.hasNext()) {
    // String s = (String)lit.next();
    // if ("music".equals(s)) {
    // lit.add("hhaha");
    // }
    // }
    // System.out.println("list:"+list);

    //方式二,集合遍历元素集合修改元素
    for(int x=0;x<list.size();x++) {
    String s = (String)list.get(x);
    if("music".equals(s)) {
    list.add("javaee");
    }
    }
    System.out.println("list:"+list);
    }

    }
    展开全文
  • 我们往往会遇到要批量修改集合中元素的值,最笨的办法就是foreach循环,但本文介绍几种优雅的方法。 首先,我们准备好元素类和初始集合: 下面就是几种方法,目前并没有对性能做进一步的测试,有兴趣的童鞋...

    我们往往会遇到要批量修改集合中元素的值,最笨的办法就是foreach循环,但本文介绍几种优雅的方法。

    首先,我们准备好元素类和初始集合:

    下面就是几种方法,目前并没有对性能做进一步的测试,有兴趣的童鞋可以测试下:

    转载于:https://www.cnblogs.com/Eysa/p/10118560.html

    展开全文
  • java8修改list集合元素的属性

    万次阅读 2019-12-11 10:17:13
    java8修改list集合元素的属性,超简单 解决方法: question.getRowOptions()是List集合,现在遍历修改元素的setOptId值 question.getRowOptions().forEach(http://www.yayihouse.com/yayishuwu/chapter/2325); ...

    java8修改list集合元素的属性,超简单

     

    解决方法:

    question.getRowOptions()是List集合,现在遍历修改元素的setOptId值

    question.getRowOptions().forEach(http://www.yayihouse.com/yayishuwu/chapter/2325);

    展开全文
  • forEach语句能否修改集合元素的值?

    千次阅读 2019-11-08 14:48:33
    forEach语句可以修改集合/数组元素为对象的值,但不可以修改数组元素为变量的值。 forEach语句不能在集合/数组添加或删除对象。 二. 问题复现 1. 数组元素为变量 结论:当数组元素为变量时,forEach循...


    一. 先说结论

    1. forEach语句可以修改集合/数组元素为对象的值,但不可以修改数组元素为变量的值
    2. forEach语句不能在集合/数组中添加或删除对象

    二. 问题复现

    1. 数组元素为变量

    • 结论:当数组元素为变量时,forEach循环不能修改原数据。如果想修改,只能通过正规for循环。
    1. forEach循环修改数组元素
    public class VariableTest {
        public static void main(String[] args) {
            // 定义数组
            int[] variables = new int[]{1,2,3,4,5};
    
            // forEach循环遍历数组
            for(int var:variables){
                if(var==3){
                    var = 0;
                }
            }
    
            // 输出数组结果
            for(int var:variables){
                System.out.println(var);
            }
    
        }
    }
    
    • 输出结果

    1
    2
    3
    4
    5

    1. 正规for循环修改数组元素
    public class VariableTest {
        public static void main(String[] args) {
            // 定义数组
            int[] variables = new int[]{1,2,3,4,5};
    
            // 正规for循环遍历数组
            for(int i=0;i<variables.length;i++){
                if(variables[i]==3){
                    variables[i] = 0;
                }
            }
    
            // 输出数组结果
            for(int var:variables){
                System.out.println(var);
            }
    
        }
    
    • 输出结果

    1
    2
    0
    4
    5

    2. 集合/数组元素为对象

    • 结论:当数组元素为对象时,forEach循环可以修改原数据。
    1. forEach循环修改集合元素
    public class ObjectTest {
        public static void main(String[] args) {
            List<Emp> empList = Lists.newArrayList();
            empList.add(new Emp("123","李华",12));
            empList.add(new Emp("456","王五",18));
            empList.add(new Emp("789","大师",16));
    
            // forEach遍历集合
            for(Emp emp:empList){
                if(emp.getName().equals("大师")){
                    emp.setAddress("000");
                }
            }
    
            // 输出数组结果
            for(Emp emp:empList){
                System.out.println(emp.getAddress()+","+emp.getName()+","+emp.getAge());
            }
    
        }
    }
    
    public class Emp {
        private String address;
        private String name;
        private Integer age;
    
        //getter and setter方法
    }
    
    • 输出结果

      123,李华,12
      456,王五,18
      000,大师,16


    三. 赋值测试

    • 目的:为了了解上述问题的精髓,对变量和对象进行了赋值测试。
    • 结论:对象和变量不一样。变量是独立的;对于对象,如果你把一个对象传给另一个对象,它们就是同一个对象,修改其中一个另一个就会修改!

    1. 赋值测试·变量赋值

    public class VariableAssignmentTest {
        public static void main(String[] args) {
            int a = 1;
            int b = a;
            b = 2;
            System.out.println(a); // 1
        }
    }
    
    • 说明:变量赋值后,修改变量b不会改变原变量a

    2. 赋值测试·对象赋值

    public class ObjectAssignmentTest {
        public static void main(String[] args) {
            Emp emp = new Emp("123","李华",12);
            Emp temp = emp;
            temp.setAge(100);
            System.out.println(emp); // Emp{address='123', name='李华', age=100}
        }
    }
    
    • 说明:对象赋值,赋的是引用(即原对象所在的地址)

    参考资料

    Java中用foreach遍历真的不能修改数据?

    展开全文
  • Java集合——遍历集合元素修改

    千次阅读 2019-03-14 11:05:00
    Java集合——遍历集合元素并修改 摘要:本文主要总结了遍历集合的方式,以及在遍历时修改集合要注意的问题。 遍历Collection 对List和Set的遍历,有四种方式,下面以ArrayList为例进行说明。 1)普通for循环 ...
  • var list2 = list.Select(x => { x.Info = x.Info.Trim(new char[] { ':', ':' }); return x; }).ToList(); 注意有{}: x => { x.Info = x.Info.Trim(new char[] { ':', ':' }); return x;...
  • 修改对象,集合元素属性也改变

    千次阅读 2017-10-23 21:38:26
    CmsRoleMenu cmsRoleMenu = new CmsRoleMenu(); List<CmsRoleMenu> cmsRoleMenuList = new ArrayList(); for (Long menuId : list) { cmsRoleMenu.setRoleId(roleId);...list元素属性会改变!! }
  • 采用增强for循环与iterator修改集合或者数组的内容
  • 一、list集合循环删除元素 1.通过普通的for删除删除符合条件的多个元素 for(int i=0;ilist.size();i++){ if(list.get(i).equals("del")) list.remove(i); } 上面这种方式会抛出java.lang....
  • set(int index, E element) 用指定元素替换列表指定位置的元素(可选操作)。
  • 集合中元素的删除

    千次阅读 2010-05-25 17:05:00
    集合中元素的删除 最近在工作遇到一个问题,就是要在集合中Remove一个指定的Object,一开始犯了一个很可笑的错误,比如一个ArrayList array有如下元素:”a”,”b”,”c”,”d”,”e”,要Remove其中的”c” ...
  • import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.ListIterator; /*  *   *  ... * 当方法检测到对象的并发修改,但不允许这种修改时,
  • 背景:用C#的人都知道结构体在C#是值类型的,由于这个原因出现了一个有趣的问题,那就是结构体集合通过数字索引修改对应属性的值能不能影响到集合中的结构体呢?答案很多人可能会说不能,因为结构体是值类型的那是...
  • js数组添加元素和数组方法js数组添加、修改、删除元素和数组方法集合数组添加、修改、删除元素数组合并功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一...
  • java list集合中元素删除方法小结

    千次阅读 2017-11-07 11:10:00
    印象循环删除list元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天在使用时发现报错了,然后去科普了一下,再然后发现这是一个误区。下面就来讲一讲。。伸手党可直接跳至文末。看总结。...
  • list集合添加元素,删除元素

    千次阅读 2018-03-26 14:33:37
    也在添加元素:使用迭代器遍历删除时,会报异常: ConcurrentModificationException原因:当方法检测到对象的并发修改,但不允许这种修改时,抛出此异常解决方案:将要删除元素放入另一个delList集合中,最后元素...
  • 集合与数组相似,但他的长度是可变的 list集合继承了collection接口,list集合的实现类是ArrayList()。 如下: package com.test; import java.util.ArrayList; // import the ArrayList package import java...
  • C#实现在foreach删除集合中元素

    千次阅读 2017-11-17 17:17:55
    C#实现在foreach删除集合中元素
  • 每次增加或删除一个元素的时候,modCount都会加一,而expectedModCount用于记录在集合遍历之前的modCount,检查这两者是否相等就是为了检查集合在迭代遍历的过程有没有被修改,如果被修改了,就会在运行时抛出...
  • Set接口继承于Collection接口,它没有提供额外的方法,但实现了Set接口的集合元素无序且不可重复。 set类与List大致都是差不多,两者都继承于Collection接口。其所有的方法基本一致。et元素是无序的,且...
  • Java遍历集合元素

    千次阅读 2019-11-04 21:29:35
    Java遍历集合元素
  • ArrayList集合中替换某一元素

    万次阅读 2019-06-25 23:13:21
    ArrayList集合中替换某一元素 /** * @ClassName:ChangeElement * @Description:TODO * @Author:ZY * @Date:2019/6/25 0025 22:44 * @Version:1.0 **/ public class ChangeElement { public static void main...
  • c++向set集合中插入元素并遍历

    千次阅读 2019-08-11 18:21:51
    由于set集合容器实现了红黑树(Red-Black Tree)的平衡二叉检索树的数据结构,再插入元素时,会自动调整二叉树的排列, 1.每个子树根节点的键值大于左子树的所有节点的键值,而小于右子树所有节点的键值 2.set集合...
  • 今天我需要从一个java的集合中,根据另一个集合的内容,删除第一个集合中不特定的元素。这看上去非常简单,但却遇到了问题。这就是“Java如何删除一个集合中的多个元素”的问题。   这是我要写的方法的头部  ...
  • Java 遍历集合删除元素

    千次阅读 2018-08-03 17:08:05
    正确删除集合元素 问题及分析 注:在浏览阿里巴巴Java开发手册时,自己测试Java遍历集合并删除元素时发现有些巧合以及总结 先写开发手册里一个例子,大家猜一下以下代码的输出 List&amp;lt;String&...
  • 删除list集合中特定元素的正确姿势

    千次阅读 热门讨论 2021-01-18 14:16:03
    如何删除一个集合对象的特定元素?小问题,但并不简单。 常见异常: ConcurrentModificationException java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification(ArrayList...
  • 如何在循环删除List集合中元素

    千次阅读 2019-05-30 16:35:09
    一、首先是最基本的for循环 for(int i=0;...remove()方法删除元素后会立刻更新List的size,因此index也发生了变化,会导致漏掉某些元素。解决办法1、在删除某一个元素后直接break,当然这种情况只适合删...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 425,708
精华内容 170,283
关键字:

修改集合中的元素