Java零基础入门到精通_Day 9

1.ArrayList

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

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

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

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 存储字符串并遍历

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 集合常用方法

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. 存储学生对象并遍历

 

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;
    }
}
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.升级版本

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;
    }
}
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);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

XF鸭

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

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

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

打赏作者

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

抵扣说明:

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

余额充值