15集合基础

# 1. 集合基础

1.1 集合概述

Snipaste_2021-09-01_15-30-26

1.2 Array List构造方法和添加方法

Snipaste_2021-09-01_15-33-46

import Java_Learning.util.ArrayList;

public class way_to_use {
    public static void main(String[] arrgs){
        //ArrayList构造方法
        ArrayList<String> arr = new ArrayList<String>();

        //添加方法
        arr.add("hello");
        arr.add("name");

        //指定位置索引添加
        arr.add(1,"0000");

        System.out.println("arr:"+arr);
    }

}

1.3 Array List集合常用方法

Snipaste_2021-09-01_15-44-06

ArrayList<String> arr = new ArrayList<String>();

//添加方法
arr.add("hello");
arr.add("name");
arr.add("dog");

//public boolean remove(Objiect o):删除指定元素,返回删除是否成功
arr.remove("dog");

//public E remove(int index):删除指定索引元素,返回被删除的元素
arr.remove(1);

//public E set(int index,Eelement):删除指定索引处的元素,返回被修改的元素(即element)
arr.set(1,"hhhh");

// public E get(int index):返回指定索引出的元素
arr.get(1);

//public int size():返回集合中元素的个数
int l = arr.size();

案例1:存储字符串并遍历

Snipaste_2021-09-01_16-08-40

import Java_Learning.util.ArrayList;

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

       //在集合中添加字符串
       arr.add("hello");
       arr.add("name");
       arr.add("dog");

       for(int i = 0;i<arr.size();i++){
           System.out.println(arr.get(i));
       }
   }
}

案例2:存储学生对象并遍历

Snipaste_2021-09-01_16-09-29

  • 创建学生类
public class Student {
    //成员对象
    private String name;
    private int age;

    //构造方法
    public Student(){}
    public Student(String name,int age){
        this.name = name;
        this.age = age;
    }

    //成员方法 提供get set方法
    public void setName(String name){
        this.name = name;
    }
    public String getName(){
        return name;
    }

    public void setAge(int age){
        this.age = age;
    }
    public int getAge(){
        return age;
    }

}

  • 测试
public class Anli2 {
    public static void main(String[] args) {
        //创建集合对象
        ArrayList<Student> arr = new ArrayList<Student>();

        //创建学生对象
        Student s1 = new Student("a",12);
        Student s2 = new Student("a2",13);
        Student s3 = new Student("a3",14);

        //添加对象到集合中
        arr.add(s1);
        arr.add(s2);
        arr.add(s3);

        //遍历集合
        for(int i = 0;i<arr.size();i++){
            Student s = arr.get(i);
            System.out.println("name:"+s.getName()+","+"age:"+s.getAge());
        }
    }
}

案例3:存储学生对象并遍历(键盘录入信息)

Snipaste_2021-09-01_16-41-24

  • 创建学生类
public class Student {
    //成员对象
    private String name;
    private int age;

    //构造方法
    public Student(){}
    public Student(String name,int age){
        this.name = name;
        this.age = age;
    }

    //成员方法 提供get set方法
    public void setName(String name){
        this.name = name;
    }
    public String getName(){
        return name;
    }

    public void setAge(int age){
        this.age = age;
    }
    public int getAge(){
        return age;
    }

}
  • 测试
import Java_Learning.util.ArrayList;
import Java_Learning.util.Scanner;

public class AnLi3 {

    public static void main(String[] args) {
        //创建集合对象
        ArrayList<Student> arr = new ArrayList<Student>();
        addStudent(arr);
        addStudent(arr);
        addStudent(arr);

        BianLi(arr);
    }
    //方法 返回值类型:void,参数:ArrayList<Student> array
    public static void addStudent(ArrayList<Student> arr){
        //键盘录入学生对象数据
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入学生姓名:");
        String name = sc.nextLine();

        System.out.println("请输入学生年龄:");
        int age = sc.nextInt();

        //创建学生对象
        Student s = new Student();
        s.setName(name);
        s.setAge(age);

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

    //遍历集合方法 返回值类型 void 参数ArrayList<Studnet> arr
    public static void BianLi(ArrayList<Student> arr){
        Student s1 = new Student();
        for (int i = 0;i<arr.size();i++){
            s1 = arr.get(i);
             System.out.println("name:"+s1.getName()+","+"age:"+s1.getAge());
        }
    }
}
posted @ 2021-09-19 18:17  zjh1170  阅读(35)  评论(0)    收藏  举报