夜斗全栈之Java篇一:Arraylist

Posted 夜斗小神社

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了夜斗全栈之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的主要内容,如果未能解决你的问题,请参考以下文章

走向全栈之坑

走向全栈之坑—开始实践

python全栈之nginx安装

全栈之前端 | 5.HTML表格列表标签元素学习篇

全栈之前端 | 4.HTML样式布局区块标签元素学习篇

全栈之前端| 6.HTML输入提交表单标签元素学习篇