【夜斗全栈之Java篇】一:Arraylist

2021/5/5 12:27:15

本文主要是介绍【夜斗全栈之Java篇】一:Arraylist,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

微微晨光点亮这喧嚣世界

在这里插入图片描述

集合类(存储的数据容量可以发生改变,提供一种存储空间可变的存储模型)有很多,今天我们介绍一个:ArrayList

在这里插入图片描述
ArrayList < E > <E> <E>:(可调整大小的数组实现,后面的E是泛型)

ArrayList < S t r i n g > <String> <String>, ArrayList < S t u d e n t > <Student> <Student>(用数据类型替换E)

一:ArrayList构造方法和添加方法

在这里插入图片描述

小夜斗首先新建了一个项目,结构如下所示:

在这里插入图片描述
首先我们创建一个集合,代码如下:
ArrayList<String> array = new ArrayList<String>();

package com.yedou_01;

import java.util.ArrayList;

public class ArrayListDe01 {
    public static void main(String[] args) {
        // public ArrayList(): 创建一个空的集合对象
        // jdk7以后的新特性,第一个创建集合的方式(注释的)
        // ArrayList<String> array = new ArrayList<>(); 
        ArrayList<String> array = new ArrayList<String>();
        // 输出集合
        System.out.println("array:" + array);
    }
}

打印输出集合,内容如下所示:

在这里插入图片描述
添加三个元素后的代码如下所示:array.add("夜斗小神社");

package com.yedou_01;

import java.util.ArrayList;

public class ArrayListDe01 {
    public static void main(String[] args) {
        // public ArrayList(): 创建一个空的集合对象
        // ArrayList<String> array = new ArrayList<>();
        ArrayList<String> array = new ArrayList<String>();

        // public boolean add(E, e): 将指定的元素追加到末尾
        // 打印输入是否成功
        System.out.println(array.add("hello"));
        // 输入hello
        array.add("夜斗小神社");
        array.add("夜斗全栈之路");
        // 输出集合
        System.out.println("array:" + array);
    }
}

结果如下:

在这里插入图片描述

在指定位置插入元素:array.add(1,"欢迎来到");

package com.yedou_01;

import java.util.ArrayList;

public class ArrayListDe01 {
    public static void main(String[] args) {
        // public ArrayList(): 创建一个空的集合对象
        // ArrayList<String> array = new ArrayList<>();
        ArrayList<String> array = new ArrayList<String>();

        // public boolean add(E, e): 将指定的元素追加到末尾
        // 打印输入是否成功
        System.out.println(array.add("hello"));
        // 输入hello
        array.add("夜斗小神社");
        array.add("夜斗全栈之路");
        // 制定位置插入元素
        array.add(1,"欢迎来到");
        // 输出集合
        System.out.println("array:" + array);
    }
}

在这里插入图片描述
不过这个方法有越界问题:
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 4, Size: 3

array.add(4,"欢迎来到");

如果按照上面这样写的话,因为只有三个元素,Size小于index,所以有越界的报错!

二:ArrayList集合常用方法

在这里插入图片描述
首先我们创建一个集合ArrayList,如下所示:

package com.yedou_01;

import java.util.ArrayList;

public class ArrayListDe02 {
    public static void main(String[] args) {
        ArrayList<String > array = new ArrayList<String >();
        array.add("欢迎来到");
        array.add("夜斗全栈");
        array.add("之路");
        System.out.println("array: " + array);
    }
}

array: [欢迎来到, 夜斗全栈, 之路]

  1. 删除元素:System.out.println(array.remove("欢迎来到"));
  2. 根据索引 :System.out.println(array.remove(0));
  3. 修改元素:System.out.println(array.set(0,"你好!"));
  4. 获取元素:System.out.println(array.get(0));
  5. 集合个数:System.out.println(array.size());

整个代码如下所示:

package com.yedou_01;

import java.util.ArrayList;

public class ArrayListDe02 {
    public static void main(String[] args) {
        ArrayList<String > array = new ArrayList<String >();
        array.add("欢迎来到");
        array.add("夜斗全栈");
        array.add("之路");
        // 删除欢迎来到
        // 显示是否删除成功
        System.out.println(array.remove("欢迎来到"));
        // 根据索引删除
        System.out.println(array.remove(0));
        // 修改元素数值
        System.out.println(array.set(0,"你好!"));
        // 返回指定索引处元素
        System.out.println(array.get(0));
        // 返回集合个数
        System.out.println(array.size());
        // 打印数组
        System.out.println("array: " + array);
    }
}

在这里插入图片描述

三:ArrayList存储字符并遍历集合

在这里插入图片描述
我是要成为海贼王的男人!"

我们添加草帽一行人的名字和梦想,并且循环打印出来:

package com.yedou_02;

import java.util.ArrayList;

public class ArrayListTest01 {
    public static void main(String[] args) {
        // 创建对象
        ArrayList<String> array = new ArrayList<String>();
        // 添加对象
        array.add("路飞: 我是要成为海贼王的男人");
        array.add("索隆:我要成为世界第一大剑豪");
        array.add("山治:我一定要找到All Blue!");
        array.add("罗宾:我一定要找出空白100年历史");
        array.add("娜美:我要找到世界上所有的宝藏");
        array.add("乔巴:我我我的赏金为什么这么低");
        array.add("弗兰奇:我打造的桑尼号最拉风!");
        array.add("布鲁克:我身体,不我只是一把老骨头!");
        array.add("乌索普:我得了不能够敲代码的病!");
        array.add("甚平:我可是要成为海贼王男人的船员!");
        // 遍历对象
        for(int i=0; i<array.size(); i++) {
            // 获取元素
            String s = array.get(i);
            // 打印元素
            System.out.println(s);
        }
    }
}

在这里插入图片描述

四:存储草帽海贼王对象并遍历

1:创建草帽类HatPirateGroupset,get快捷键(alt + insert)

package com.yedou_02;
/*
草帽类
 */
public class HatPirateGroup {
    private String name;
    private String sentence;

    // 无参
    public HatPirateGroup(){}

    // 有参
    public HatPirateGroup(String name, String sentence){
        this.name = name;
        this.sentence = sentence;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSentence() {
        return sentence;
    }

    public void setSentence(String sentence) {
        this.sentence = sentence;
    }
}

2: 创建一个存储草帽海贼成员的集合,并循环打印

package com.yedou_02;

import java.util.ArrayList;

public class ArrayListTest02 {
    public static void main(String[] args) {
        // 创建集合对象
        ArrayList<HatPirateGroup> array = new ArrayList<HatPirateGroup>();

        // 创建海贼对象
        HatPirateGroup s1 = new HatPirateGroup("路飞:", "我是要成为海贼王的男人");
        HatPirateGroup s2 = new HatPirateGroup("索隆:","我要成为世界第一大剑豪");
        HatPirateGroup s3 = new HatPirateGroup("山治:","我一定要找到All Blue!");

        // 添加海贼到草帽海贼团中
        array.add(s1);
        array.add(s2);
        array.add(s3);

        // 遍历集合
        for(int i=0; i<array.size(); i++){
            HatPirateGroup s = array.get(i);
            System.out.println(s.getName()+ s.getSentence());
        }

    }
}

五:键盘录入草帽海贼王对象并遍历

1:创建草帽类HatPirateGroupset,get快捷键(alt + insert)

package com.yedou_02;
/*
草帽类
 */
public class HatPirateGroup {
    private String name;
    private String sentence;

    // 无参
    public HatPirateGroup(){}

    // 有参
    public HatPirateGroup(String name, String sentence){
        this.name = name;
        this.sentence = sentence;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSentence() {
        return sentence;
    }

    public void setSentence(String sentence) {
        this.sentence = sentence;
    }
}

2:键盘输入海贼信息,调用方法加入到集合当中

package com.yedou_03;

import java.util.ArrayList;
import java.util.Scanner;

public class ArrayTest {
    public static void main(String[] args) {
        // 创建集合对象
        ArrayList<HatPirateGroup> array = new ArrayList<HatPirateGroup>();
        // 调用方法
        addPirate(array);
        addPirate(array);
        addPirate(array);

        // 遍历集合
        for(int i=0; i<array.size(); i++){
            HatPirateGroup s = array.get(i);
            System.out.println(s.getName() + s.getSentence());
        }
    }
    public static void addPirate(ArrayList<HatPirateGroup> array){
        /*
        方法:返回值类型和参数
         */
        // 键盘录入数据
        Scanner sc = new Scanner(System.in);

        System.out.println("输入海贼姓名:");
        String name = sc.nextLine();
        System.out.println("请输入句子:");
        String sentence = sc.nextLine();

        // 创建海贼对象
        HatPirateGroup s = new HatPirateGroup();
        s.setName(name);
        s.setSentence(sentence);

        // 往集合中添加学生对象
        array.add(s);
    }
}

  • 在这个星球上,你很重要,请珍惜你的珍贵! ~~~夜斗小神社

在这里插入图片描述



这篇关于【夜斗全栈之Java篇】一:Arraylist的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程