当前位置 博文首页 > 在Java中怎么修改ArrayList()中元素的值?_康贱猫的博客:list修

    在Java中怎么修改ArrayList()中元素的值?_康贱猫的博客:list修

    作者:[db:作者] 时间:2021-08-10 16:09

    展开全部

    1、什么是ArrayList :

    ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂32313133353236313431303231363533e58685e5aeb931333365633838版本,它提供了如下一些好处:

    (1)动态的增加和减少元素

    (2)实现了ICollection和IList接口

    (3)灵活的设置数组的大小

    2、ArrayLis的创建以及增删改查方法:

    (1)ArrayList的创建以及元素的添加:ArrayList ?=?new?ArrayList();?//()中也可传参。

    注释:上面是创建一个空的ArrayList列表。当我们想往列表中传递元素的时候是通过.add()的方法来进行赋值的。看一下下面的案例。另外要想输出出列表中的元素的话要通过for循环遍历:public?class?test?{

    public?static?void?main(String[]?args)?{

    ArrayList?lis?=?new?ArrayList();

    lis.add("tony");

    lis.add("tom");

    lis.add("jack");

    lis.add("mary");

    lis.add("even");

    for(int?i=0;i

    String?result?=?(String)lis.get(i);

    System.out.println(result);

    }输出结果如下:

    tony

    tom

    jack

    mary

    even

    (2)ArrayList中元素的删除:

    注释:变量名.remove(int Index); //通过.remove(int Index)方法来进行删除。

    这里直接传入要删除元素的下标即可。当然也可以直接传入值进行删除。如果你觉得用下边的方式比较麻烦那可以直接输入要删除项的值。package?com.java.demo_9;

    import?java.util.ArrayList;

    public?class?Arraylist?{

    public?static?void?main(String[]?args)?{

    ArrayList?lis?=?new?ArrayList();

    lis.add("tony");

    lis.add("tom");

    lis.add("jack");

    lis.add("mary");

    lis.add("even");

    System.out.println("---------------------------------");

    System.out.println(":");

    for?(int?i?=?0;?i?

    String?result?=?(String)?lis.get(i);

    System.out.println(result);

    }

    System.out.println("---------------------------------");

    System.out.println(":");

    lis.remove(1);

    for?(int?i?=?0;?i?

    String?result?=?(String)?lis.get(i);

    System.out.println(result);

    }

    System.out.println("---------------------------------");

    }

    }

    结果:

    因为我指定的是lis.remove(1);

    index是从0开始起始的因此1代表第2个元素。因此删除的是tom这个元素。:

    tony

    tom

    jack

    mary

    even

    ---------------------------------

    :

    tony

    jack

    mary

    even

    ---------------------------------

    (3)ArrayList中元素的修改注释:ArrayList方法中有一个.set方法(变量.set(index, element);)。

    通过这个方法可以修改列表中的值。(index指定下标,element指定要修改后元素的值)。一起来看一下下面的示例:package?com.java.demo_9;

    import?java.util.ArrayList;

    public?class?Arraylist?{

    public?static?void?main(String[]?args)?{

    ArrayList?lis?=?new?ArrayList();

    lis.add("tony");

    lis.add("tom");

    lis.add("jack");

    lis.add("mary");

    lis.add("even");

    System.out.println("---------------------------------");

    System.out.println(":");

    for?(int?i?=?0;?i?

    String?result?=?(String)?lis.get(i);

    System.out.println(result);

    }

    System.out.println("---------------------------------");

    System.out.println(":");

    //lis.remove("tom");

    lis.set(2,?"lucy");

    for?(int?i?=?0;?i?

    String?result?=?(String)?lis.get(i);

    System.out.println(result);

    }

    System.out.println("---------------------------------");

    }

    }

    结果:

    通过下面的结果可以看出第3个下标中的值已经被改变了。本来是jack现在更改成了lucy。:

    tony

    tom

    jack

    mary

    even

    ---------------------------------

    :

    tony

    tom

    lucy

    mary

    even

    ---------------------------------

    (4)ArrayList中元素的查找:

    注释:.contains()是用来判断一个元素是否包含在另一个元素中的。

    所以这里是判断查找的元素是否包含在列表中。返回值方面我直接用的是打印的方法。也可以通过boolean,return的方式返回。

    案例1:import?java.util.ArrayList;

    public?class?tes?{

    public?static?void?main(String[]?args)?{

    ArrayList?lis?=?new?ArrayList();

    lis.add("tony");

    lis.add("tom");

    lis.add("jack");

    lis.add("mary");

    lis.add("even");

    if(lis.contains("vivian")){

    System.out.println("包含此元素!");

    }

    else{

    System.out.println("该元素不存在!");

    }

    }

    }

    结果:返回结果参照代码。找到了就打印“包含此元素,没找到就显示元素不存在。

    案例2:package?com.java.demo_9;

    import?java.util.ArrayList;

    public?class?ArrLis?{

    public?static?void?main(String[]?args)?{

    ArrayList?list?=new?ArrayList();

    list.add("tony");

    list.add("tom");

    list.add("jack");

    list.add("kevin");

    for(int?i=0;i

    String?result?=(String?)list.get(i);

    System.out.println(result);

    }

    System.out.println("+++++++++++++++++++++++++++++++++++++");

    ArrayList?list1?=?new?ArrayList();

    for(int?i=0;i

    String?res?=?(String)list.get(i);

    if(list.contains("kevin")){

    list1.add("kevin");

    System.out.println(list1);

    break;

    }else{

    System.out.println("没找到该元素!");

    break;

    }

    }

    }

    }

    结果:

    因为列表中中包含"kevin"这个元素所以返回值为该元素。如果列表中没有该元素返回值为“没有找到该元素!”。注意事项:我是重新设定了一个新空ArrayList(list1)。目的就是为了如果找到该值把这个值直接放到新的ArrayList中。另外if,else用了2次break。就是只要找到或者没找到就退出的意思。如果不这么写那么for循环每找一次结果就会打印一次,这显然是不必要的。

    cs