第2关:ArrayList集合的增删改查

第2关:ArrayList集合的增删改查

  • 任务要求
  • 参考答案
  • 评论198

任务描述

本关任务:完成对集合中数据的增删改查。

相关知识

为了完成本关任务,你需要学习:

1.怎么获取集合中的数据;

2.怎么修改集合中的数据;

3.怎么删除集合中的数据。

获取集合中的数据

使用get(index)即可获取集合中的数据,和数组相同,index为角标,从0开始。 例如:

 
  1. ArrayList list = new ArrayList();
  2. list.add("张无忌");
  3. list.add(18);
  4. String name = (String)list.get(0);
  5. int age = (int)list.get(1);
  6. System.out.println("姓名:" + name + " 年龄:" + age);

输出:

姓名:张无忌 年龄:18

看到这里你可能会有疑问:

 
  1. String name = (String)list.get(0);

为什么使用集合的get()方法获取到数据之后还需要(String)强转数据类型呢?

这是因为我们在定义集合的时候并没有给定一个数据类型,所以集合中的元素,可以是任意类型的对象Object),如果把某个对象放入集合,则会忽略它的类型,而把它当做Object类处理。

这样我们在从集合中获取数据的时候,默认也会将它看做是Object类型,所以我们在使用的时候需要强转成对应类型。

修改集合中的数据

使用set(index, element)方法即可修改集合中的数据,第一个参数代表索引,即修改集合第几个位置的元素,index0开始,第二个参数element是要修改的数据。

例如:

 
  1. ArrayList list = new ArrayList();
  2. list.add("张无忌");
  3. list.add(18);
  4. String name = (String)list.get(0);
  5. int age = (int)list.get(1);
  6. System.out.println("姓名:" + name + " 年龄:" + age);
  7. list.set(0,"张三丰"); //修改集合的第一个元素
  8. name = (String)list.get(0);
  9. System.out.println("姓名:" + name + " 年龄:" + age);

输出:

姓名:张无忌 年龄:18 姓名:张三丰 年龄:18

删除集合中的数据

使用remove(index)remove(element)方法即可删除元素,remove方法是一个重载的方法,第一种可以根据索引位置删除元素,第二种可以根据元素的引用来删除集合中对应的元素。

如下:

 
  1. ArrayList list = new ArrayList();
  2. list.add("张无忌");
  3. list.add(18);
  4. //List集合的toString可以输出数组中所有的数据
  5. System.out.println(list.toString());
  6. Object obj1 = list.get(0);
  7. list.remove(obj1); //根据元素的引用删除元素
  8. System.out.println(list.toString());
  9. list.remove(0); //根据索引删除元素
  10. System.out.println(list.toString());

输出:

[张无忌, 18] [18] []

请你思考一个问题:

 
  1. ArrayList list = new ArrayList();
  2. list.add("张无忌");
  3. list.add(18);

对于上述代码,要删除所有元素,应该使用remove(0),remove(0)还是remove(0),remove(1)?

编程要求

请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:

  • 删除集合的第一个和最后一个元素;

  • 添加两个字符串:helloeducoder至集合中;

  • 修改集合的第三个元素,改为:list

  • 输出集合中所有的元素。

测试说明

补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。

测试输入:

4 张三 李四 王五 赵六

预期输出:

李四 王五 list educoder

提示,获取数组的长度:

 
  1. ArrayList list = new ArrayList();
  2. list.add(1);
  3. list.add(3);
  4. System.out.println(list.size());

输出:2

package step2;

import java.util.ArrayList;

import java.util.Scanner;

public class HelloWorld {

   

    @SuppressWarnings("unchecked")

    public static void main(String[] args) {

        //获取输入的数据并添加至集合

        Scanner sc = new Scanner(System.in);//sc获取键盘输入的数组

        ArrayList list = new ArrayList<>();//创建集合

        int length = sc.nextInt();

        for(int i =0 ; i< length; i++){

            list.add(sc.next());

        }

        /********** Begin *********/

        list.remove(0);

        list.remove(length - 1 - 1);

        list.add("hello");

        list.add("educoder");

        list.set(2,"list");

        for(int i = 0;i < list.size();i++){

            System.out.println((String)list.get(i));

        }

        //应该使用list.size()方法而不是list.size属性,因为size是ArrayList的一个方法,不是属性。

        /********** End **********/

    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: ArrayList集合的增加元素: 可以使用add()方法或者addAll()方法,将元素加入到ArrayList集合中。 ArrayList集合的删除元素: 可以使用remove()方法,将特定的元素从ArrayList集合中删除。 ArrayList集合的修改元素: 可以使用set()方法,修改ArrayList集合中的某个特定位置的元素。 ArrayList集合的查询元素: 可以使用get()方法或者contains()方法,查询ArrayList集合中的元素。 ### 回答2: ArrayListJava中一个非常常用的集合,它提供了一个可变大小的数组实现。在实际开发中,有时候需要对ArrayList进行增删改查的操作。下面我将结合实例详细介绍ArrayList增删改查操作。 1. 增加操作 ArrayList提供了三个add()方法来增加元素,如下所示: ```java public boolean add(E e) // 将指定元素追加到集合末尾 public void add(int index, E element) // 将指定元素插入到指定位置 public boolean addAll(Collection<? extends E> c) // 将指定集合中的所有元素追加到集合末尾 ``` 下面是一个示例,展示如何使用add()方法向ArrayList中添加元素: ```java import java.util.ArrayList; import java.util.Collections; import java.util.List; public class ArrayListDemo { public static void main(String[] args) { List<Integer> list = new ArrayList<>(); // 创建一个ArrayList list.add(10); // 第一种方法:将10添加到列表末尾 list.add(0, 5); // 第二种方法:将5添加到列表的第一个位置 Collections.addAll(list, 20, 30, 40); // 第三种方法:将20, 30, 40添加到列表末尾 System.out.println(list); // 输出 [5, 10, 20, 30, 40] } } ``` 2. 删除操作 ArrayList提供了三个remove()方法来删除元素,如下所示: ```java public boolean remove(Object o) // 删除指定元素 public E remove(int index) // 删除指定位置的元素 public boolean removeAll(Collection<?> c) // 删除指定集合中的所有元素 ``` 下面是一个示例,展示如何使用remove()方法从ArrayList中删除元素: ```java import java.util.ArrayList; import java.util.List; public class ArrayListDemo { public static void main(String[] args) { List<Integer> list = new ArrayList<>(); // 创建一个ArrayList list.add(5); list.add(10); list.add(20); list.remove(new Integer(10)); // 删除元素10 list.remove(0); // 删除第一个元素 System.out.println(list); // 输出 [20] } } ``` 3. 修改操作 ArrayList提供了set()方法来修改元素,如下所示: ```java public E set(int index, E element) // 修改指定位置的元素 ``` 下面是一个示例,展示如何使用set()方法修改ArrayList中的元素: ```java import java.util.ArrayList; import java.util.List; public class ArrayListDemo { public static void main(String[] args) { List<String> list = new ArrayList<>(); // 创建一个ArrayList list.add("apple"); list.add("banana"); list.add("orange"); list.set(0, "pear"); System.out.println(list); // 输出 [pear, banana, orange] } } ``` 4. 查找操作 ArrayList提供了get()和indexOf()方法来查找元素,如下所示: ```java public E get(int index) // 获取指定位置的元素 public int indexOf(Object o) // 获取指定元素在集合中的位置 ``` 下面是一个示例,展示如何使用get()和indexOf()方法查找ArrayList中的元素: ```java import java.util.ArrayList; import java.util.List; public class ArrayListDemo { public static void main(String[] args) { List<String> list = new ArrayList<>(); // 创建一个ArrayList list.add("apple"); list.add("banana"); list.add("orange"); String first = list.get(0); int index = list.indexOf("orange"); System.out.println(first); // 输出 apple System.out.println(index); // 输出 2 } } ``` 总之,ArrayList是一个非常实用的集合,它提供了丰富的方法来支持增删改查操作。在实际开发中,我们需要根据实际需求来选择合适的方法来完成操作。希望以上内容对您有所帮助。 ### 回答3: arraylist是一个常用的集合类,它是一个可动态增长的数组,与普通数组相比具有更方便的增删改查操作。实现arraylist集合增删改查有以下几个方法。 1.增加元素:使用add(Object obj)方法可以在列表末尾添加一个元素。如果我们要在指定位置插入元素,则可以使用add(int index, Object obj)方法。 2.删除元素:使用remove(Object obj)方法可以删除指定的元素,indexof(Object obj)方法可以查找指定元素的位置,remove(int index)方法可以删除指定位置上的元素。 3.修改元素:使用set(int index, Object obj)方法可以修改指定位置上的元素。 4.查找元素:使用get(int index)方法可以获取指定位置上的元素,indexof(Object obj)方法可以查找指定元素的位置,contains(Object obj)方法可以判断指定元素是否在列表中。 在使用arraylist集合时需要注意以下几点: 1.默认情况下,arraylist集合中存储的是Object类型的元素,如果在使用时需要存储其他类型的数据,则需要进行强制类型转换。 2.使用arraylist集合时,不需要指定容量大小,集合会根据需要动态的增长。 3.同样的元素可以重复出现在arraylist集合中。 4.由于arraylist集合是基于数组实现的,因此在进行查找、插入和删除操作时,可能需要移动多个元素,效率较低。 在实际使用中,应根据实际需求选择合适的集合类。如果需要快速的查找、插入和删除元素,可以考虑使用基于哈希表实现的集合类,如hashset或hashmap;如果需要按照一定顺序遍历元素,则可以使用基于树结构实现的集合类,如treeset或treemap。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值