Java零基础入门到精通_Day 9

1.ArrayList

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

集 合

集合类的特点:提供一种存储空间可变的存储模型,存储的数据容量可以发生改变集合类有很多,目前我们先学习一个:ArrayList

2.ArrayList构造方法和添加方法

java 复制代码
package Base_one.Base_009;

import java.util.ArrayList;

public class ArrayListDemo1 {
    public static void main(String[] args) {
//      ArrayList<String> array =  new ArrayList<>();
        ArrayList<String> array =  new ArrayList<String>();
        System.out.println(array); //[]
        System.out.println(array.add("hello"));
        System.out.println(array);
        array.add("world");
        System.out.println(array);

        array.add(1,"javase");
        array.add(3,"javaee");
        System.out.println(array);

        array.add(5,"sed"); // .IndexOutOfBoundsException 集合索引越界

    }
}

3.ArrayList 存储字符串并遍历

java 复制代码
package Base_one.Base_009;

import java.util.ArrayList;

public class ArrayListTest1 {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("a");
        arrayList.add("b");
        arrayList.add("c");
        arrayList.add("e");
        System.out.println(arrayList);

        // 遍历
        for (int i=0; i<arrayList.size();i++){
            String s = arrayList.get(i);
            System.out.println(s);
        }

    }
}

4. ArrayList 集合常用方法

java 复制代码
package Base_one.Base_009;

import java.util.AbstractList;
import java.util.ArrayList;

public class ArrayListDemo2 {
    public static void main(String[] args) {
        AbstractList<String> arr = new ArrayList<String>();
        arr.add("a");
        arr.add("b");
        arr.add("c");
        System.out.println(arr);
        System.out.println(arr.remove(0));
        System.out.println(arr.remove("b"));
        System.out.println(arr);
        System.out.println(arr.set(0,"e"));
        System.out.println(arr);
        System.out.println(arr.get(0));
        System.out.println(arr.size());
    }
}

5. 存储学生对象并遍历

java 复制代码
package Base_one.Base_009;

public class Studet {
    private String name;
    private int age;
    public Studet(){}
    public Studet(String name,int age){
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
java 复制代码
package Base_one.Base_009;

import java.util.AbstractList;
import java.util.ArrayList;

public class StudentTest {
    public static void main(String[] args) {
        // 创建集合对象
        ArrayList<Studet> array = new ArrayList<Studet>();
        // 创建学生对象
        Studet s1 = new Studet("Tom",18);
        Studet s2 = new Studet("Alo",20);
        Studet s3 = new Studet("Tina",22);
        // 添加学生对象到集合中
        array.add(s1);
        array.add(s2);
        array.add(s3);
        System.out.println(array); // 输出的都是地址了
        for(int i= 0;i< array.size();i++){
            Studet s = array.get(i);
            System.out.println(s.getName()+","+s.getAge());
        }
    }
}

6.升级版本

java 复制代码
package Base_one.Base_009;

public class Studentpro {
    private String name;
    private String age;

    public Studentpro() {
    }

    public Studentpro(String name, String age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

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

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }
}
java 复制代码
package Base_one.Base_009;
import java.util.ArrayList;
import java.util.Scanner;

public class StudentProTest {
    public static void main(String[] args) {
        ArrayList<Studentpro> array = new ArrayList<Studentpro>();
        Scanner sc = new Scanner(System.in);
        System.out.println("输入你要添加几个学生对象:");
        int cout = sc.nextInt();
        for (int i = 0;i<cout;i++){
            System.out.println(String.format("第%d个对象",i));
            addStudentObject(array);
        }
        // 遍历输出
        for (int i = 0;i<array.size();i++){
            Studentpro s = array.get(i);
            System.out.println(s.getName()+","+s.getAge());
        }

    }
    // 定义方法 返回值void类型 参数类型为ArrayList
    public static void addStudentObject(ArrayList<Studentpro> array){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入姓名:");
        String name = sc.nextLine();
        System.out.println("请输入年龄");
        String age = sc.nextLine();
        Studentpro s = new Studentpro();
        s.setName(name);
        s.setAge(age);
        array.add(s);
    }
}
相关推荐
liu_chunhai6 分钟前
设计模式(3)builder
java·开发语言·设计模式
Mr.D学长11 分钟前
毕业设计 深度学习社交距离检测系统(源码+论文)
python·毕业设计·毕设
姜学迁14 分钟前
Rust-枚举
开发语言·后端·rust
wdxylb15 分钟前
解决Python使用Selenium 时遇到网页 <body> 划不动的问题
python
冷白白16 分钟前
【C++】C++对象初探及友元
c语言·开发语言·c++·算法
凌云行者20 分钟前
rust的迭代器方法——collect
开发语言·rust
代码骑士23 分钟前
【一起学NLP】Chapter3-使用神经网络解决问题
python·神经网络·自然语言处理
It'sMyGo23 分钟前
Javascript数组研究09_Array.prototype[Symbol.unscopables]
开发语言·javascript·原型模式
睡觉然后上课34 分钟前
c基础面试题
c语言·开发语言·c++·面试
qing_04060341 分钟前
C++——继承
开发语言·c++·继承