第1关:学习-Java集合类之List的ArrayList之增删改查


任务描述

本关任务:创建 ArrayList 集合并使用它的增删改查方法。 接收给定的一行字符串,实现如下需求: 1.通过空格(一个)切割字符串; 2.创建一个 ArrayList 集合; 3.将切割后的字符串元素添加至集合中; 4.删除集合的第一个和最后一个元素; 5.添加两个字符串:hello,educoder 至集合中; 6.修改集合的第三个元素,改为:list; 7.打印集合。

相关知识

List 集合

List 集合用于存储有序的、可以重复的元素,因此我们可以通过索引来访问、遍历元素。它主要有 ArrayList 和 LinkedList 两个实现类,本实训将介绍 ArrayList 集合。

ArrayList 集合

ArrayList 是 List 集合的实现类,它的底层数据结构是数组,因此它具有查询快,增删慢的特点。

创建 ArrayList 集合

 
  1. // 导入相关类
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. public class ExcTest {
  5. public static void main(String[] args) {
  6. // 创建ArrayList集合
  7. List list=new ArrayList<String>();
  8. }
  9. }

可以看到创建 ArrayList 集合时使用的是父类的引用指向子类对象,这种方式可以大大的提高程序的可扩展性

ArrayList 集合的增删改查

增删改查示例:

 
  1. public static void main(String[] args) {
  2. // 创建ArrayList集合
  3. List<String> list=new ArrayList<>();
  4. // 使用add()方法增加元素
  5. list.add("list"); // 在最新位置添加指定元素
  6. list.add(1,"hello"); // 在指定位置添加元素
  7. list.add(2,"java"); // 在指定位置添加元素
  8. System.out.println(list);
  9. // 使用get()方法获取指定索引处元素,索引值从0开始
  10. String s = list.get(0);
  11. System.out.println(s);
  12. // 使用set()方法修改指定索引位置的元素值
  13. list.set(1,"hi");
  14. System.out.println(list);
  15. // 使用remove()方法删除指定元素
  16. list.remove(0); // 删除指定索引的元素
  17. list.remove("hi"); // 删除指定元素
  18. System.out.print(list);
  19. }

执行结果:

 
  1. [list, hello, java]
  2. list
  3. [list, hi, java]
  4. [java]

遍历 ArrayList

遍历集合有三种方式: 1.使用迭代器遍历;

 
  1. public static void main(String[] args) {
  2. // 创建ArrayList集合
  3. List<String> list=new ArrayList<>();
  4. // 使用add()方法添加元素
  5. list.add("list");
  6. list.add(1,"hello");
  7. list.add(2,"java");
  8. list.add("java");
  9. // 通过迭代器遍历集合
  10. Iterator<String> iterator = list.iterator();
  11. while(iterator.hasNext()){
  12. System.out.println(iterator.next());
  13. }
  14. }

2.使用 foreach 遍历;

 
  1. public static void main(String[] args) {
  2. // 创建ArrayList集合
  3. List<String> list=new ArrayList<>();
  4. // 使用add()方法添加元素
  5. list.add("list");
  6. list.add(1,"hello");
  7. list.add(2,"java");
  8. list.add("java");
  9. // 通过foreach遍历集合
  10. for(String s:list){
  11. System.out.println(s);
  12. }
  13. }

3.使用 size() 方法获取集合长度,配合 for 循环遍历集合。

 
  1. public static void main(String[] args) {
  2. // 创建ArrayList集合
  3. List<String> list=new ArrayList<>();
  4. // 使用add()方法添加元素
  5. list.add("list");
  6. list.add(1,"hello");
  7. list.add(2,"java");
  8. list.add("java");
  9. // 通过 size() 方法遍历集合
  10. for(int x=0;x<list.size();x++){
  11. System.out.println(list.get(x));
  12. }
  13. }

以上三种方式执行结果:

 
  1. list
  2. hello
  3. java
  4. java

编程要求

仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,创建 ArrayList 集合并使用它的增删改查方法,具体要求如下:

  • 接收给定的一行字符串(如:32 rfsd fwq g3r3qt t3q4t。);
  • 通过空格(一个)切割字符串;
  • 创建一个 ArrayList 集合;
  • 将切割后的字符串元素添加至集合中;
  • 删除集合的第一个和最后一个元素;
  • 添加两个字符串:hello,educoder 至集合中;
  • 修改集合的第三个元素,改为:list;
  • 打印集合。

测试说明

平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。

例: 测试输入:

 
  1. 32 rfsd fwq g3r3qt t3q4t qt ta

预期输出:

 
  1. [rfsd, fwq, list, t3q4t, qt, hello, educoder]

开始你的任务吧,祝你成功!

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class CollTest {
    public static void main(String[] args) {
        // 请在Begin-End间编写代码
        /********** Begin **********/
        // 第一步:接收给定的一行字符串
        Scanner in=new Scanner(System.in);
        String strs=in.nextLine();
        // 第二步:切割字符串
        String[] ser=strs.split(" ");
        // 第三步:创建集合
      ArrayList<String> array=new ArrayList<String>();
        // 第四步:往集合中添加元素
      for(int i=0;i<ser.length;i++)
      {
    	  array.add(ser[i]);
      }
        // 第五步:删除第一个元素和最后一个元素
      array.remove(0); 
      array.remove(array.size()-1); 
        // 第六步:往集合中添加hello和educoder
      array.add("hello");
      array.add("educoder");
        // 第七步:修改集合中第三个元素为list
      array.set(2,"list");
        // 第八步:打印集合
      System.out.println(array);
        /********** End **********/

    }
}

  • 8
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

君临๑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值