Java中的集合ArrayList

2021/9/7 12:36:10

本文主要是介绍Java中的集合ArrayList,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

集合概述

ArrayList构造方法和添加方法

常用方法

存储字符串并遍历案例

存储学生对象并遍历


集合概述

编程的时候如果要存储多个数据,使用长度固定的数组存储格式,不一定满足我们的需求,更适应不了变化的需求,那么,此时该如何选择呢?那就是集合

先回忆一下python中的集合概念:set 集合s = {1,2,3} 是没有重复元素的数据结构,没有顺序,没有索引,元素可以是数字,字符串,不能是列表字典元组

而java中的集合就不一样了,其集合类的特点:提供一种存储空间可变的存储模型,存储的数据容量可以发生改变目前我们先学习一个: ArrayList

ArrayList<E> :

  • 可调整大小的数组实现
  • <E>:是一种特殊的数据类型,泛型。

在出现E的地方我们使用引用数据类型替换即可举例: ArrayList<String>,ArrayList<Student>

ArrayList构造方法和添加方法

如下创建一个空的集合对象,并使用添加方法在集合中添加指定的元素

package com.test;

import com.sun.xml.internal.org.jvnet.fastinfoset.sax.FastInfosetReader;

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

public class ScannerDemo {
    public static void main(String[] args) {
        //创建一个空的集合对象
        ArrayList<String> array = new ArrayList<String>();
        System.out.println(array); //输出 []

        //public boolean add(E e), 将指定的元素追加到集合的末尾
        System.out.println(array.add("hello")); //输出true
        array.add(" world");
        System.out.println(array);   //输出[hello,  world]

        //在指定的索引位置添加元素,索引从0开始
        array.add(1,"nihao");
        System.out.println(array);  //输出[hello, nihao,  world]
    }
}

常用方法

  • arr.remove("元素")      删除指定元素
  • array.remove(1)          删除1索引位置处的元素
  • array.set(1, "hello")    将1索引处的 元素替换为“hello”    
  • array.size()                  获取集合长度
  • array.get(1)                  获取索引1处的元素
package com.test;

import com.sun.xml.internal.org.jvnet.fastinfoset.sax.FastInfosetReader;

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

public class ScannerDemo {
    public static void main(String[] args) {
        //创建一个空的集合对象
        ArrayList<String> array = new ArrayList<String>();
        //给集合中添加元素
        array.add("hello");
        array.add("world");
        System.out.println(array);  //输出[hello, world]
        //1. ramove 删除指定元素
        /*array.remove("world");
        System.out.println(array);  //输出hello*/

        //2. remove删除指定索引位置的元素
        /*array.remove(1);
        System.out.println(array);  //输出hello*/

        //3. set修改指定索引处的元素
        array.set(1,"你好");
        System.out.println(array);  //输出 [hello, 你好]
    }
}

存储字符串并遍历案例

需求:创建一个存储字符串的集合,存储3个字符串元素,使用程序实现在控制台遍历该集合

package com.test;

import com.sun.xml.internal.org.jvnet.fastinfoset.sax.FastInfosetReader;

import java.util.ArrayList;

public class ScannerDemo {
    public static void main(String[] args) {
        //创建一个空的集合对象
        ArrayList<String> array = new ArrayList<String>();
        array.add("hello");
        array.add("world");
        array.add("hehe");
        System.out.println(array);
        for(int i=0; i<array.size(); i++){
            System.out.println(array.get(i));
        }
    }
}

存储学生对象并遍历 

需求:创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合

思路:

  • 定义学生类
  • 创建集合对象
  • 创建学生对象
  • 添加学生对象到集合中
  • 遍历集合,采用通用遍历格式实现

因为要存储学生对象,所以首先要有学生类

Student.java

package com.test;
//学生类
public class Student {
    private String name;
    private int age;
    //定义无参构造方法
    public Student(){}
    //有参数构造方法
    public Student(String name, int age){
        this.name = name;
        this.age  = age;
    }

    public String getName(){
        return name;
    }

    public int getAge(){
        return age;
    }
}

ArrayListTest.java

package com.test;
import java.util.ArrayList;

public class ArrayListTest {
    public static void main(String[] args) {
        //创建集合对象
        ArrayList<Student> array = new ArrayList<Student>();
        //创建学生对象
        Student s1 = new Student("辰辰啊", 18);
        Student s2 = new Student("小明", 19);
        Student s3 = new Student("小虹", 20);

        //添加学生对象到集合中
        array.add(s1);
        array.add(s2);
        array.add(s3);
        //遍历集合
        for(int i=0; i<array.size(); i++){
             Student s = array.get(i);
            System.out.println(s.getName()+","+s.getAge());
        }
    }
}


这篇关于Java中的集合ArrayList的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程