集合基础/Arraylist

集合概述

集合类的特点:提供一种存储空间可变的存储模型,存储的数据容量可以发生改变

1、Arraylist<E>:

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

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

2、Arraylist构造方法和添加方法

在这里插入图片描述
单词:
index :索引
element:

3、Arraylist集合常用方法

在这里插入图片描述

Arraylist集合常用方法 的示例
public static void main(String[] args) {
        ArrayList<String> array = new ArrayList<String>();
        array.add("hello");
        array.add("word");
        array.add("java");
 /*public boolean remove(objet o):删除指定元素,返回删除是否成功
        System.out.println(array.remove("word"));
*/

/* public E remove(in index):删除指定索引处的元素,返回被删除的元素
        System.out.println(array.remove(1));
 */

/*public E set(int index,E element):修改指定索引处的元素,返回被修改的元素
        System.out.println(array.set(1,"javaee"));
 */

 /*public int size();返回集合中的元素的个数
        System.out.println(array.size());
*/

        System.out.println("array"+array);
    }

题1、存储字符串并遍历

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

注明:遍历集合的通用格式
for(int i=0;i<集合对象.size();i++){
   		集合对象.get(i)就是指定索引处的元素
}
示例:
public static void main(String[] args) {
        //创建集合对象
        ArrayList<String> array = new ArrayList<String>();
        // 往集合里添加字符串对象
        array.add("嘿嘿嘿");
        array.add("你在笑吗");
        array.add("那就笑一个吧");

        /*遍历集合,首先要能够获取到集合中的每一个元素,这个通过get(int index)方法实现
        System.out.println(array.get(0));
        System.out.println(array.get(1));
        System.out.println(array.get(2));
      
        for (int i = 0; i < 3; i++) {
            System.out.println(array.get(i));
        }
        */
        // 遍历集合的通用格式
        for (int i=0;i<array.size();i++){
            String s = array.get(i);
            System.out.println(s);
        }
    }

题2、存储学生对象并遍历

需求:创建一个存储学生对象的集合,存储2个学生对象,使用程序实现在控制台遍历
思路:
1定义学生类、2创建集合对象、3创建学生对象
4添加学生对象到集合中 、5遍历集合,采用通用遍历格式实现

//1、学生类
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 void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
public  class ArrayListTest {
    public static void main(String[] args) {
    //2、创建集合对象
    ArrayList<Student> array = new ArrayList<Student>();

    //3、创建学生类对象
    Student S1 = new Student("果果",2);
    Student S2 = new Student("筱筱",1);

    //4、添加学生对象到集合中
    array.add(S1);
    array.add(S2);

    //5、遍历集合,采用通用遍历格式实现
     for (int i=0;i<array.size();i++){
         Student S = array.get(i);
         System.out.println(S.getName()+","+S.getAge());
     }

    }
}

题3、存储学生对象并遍历(升级)

需求:创建一个存储学生对象的集合,存储2个学生对象,使用程序实现在控制台遍历
学生的姓名和年龄来自于键盘录入

 //1、学生类,把学生类中的成员变量都定义为String类型
public class Student {
    private String name;
    private String age;

    public Student(){}
    public Student(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(String age) {
            return this.age;
        }

        public void setAge(String age) {
            this.age = age;
        }
    }
public  class ArrayListTest {
    public static void main(String[] args) {
    //2、创建集合对象
    ArrayList<Student> array = new ArrayList<Student>();
    //6、调用方法
       addStudent(array);
       addStudent(array);
    }
    /*两个明确:
    返回值类型:void
    参数:ArrayList<Student>array
     */
    public static void addStudent(ArrayList<Student> array){
        //3、键盘录入学生对象所需要的数据
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入学生姓名:");
        String name = sc.nextLine();

        System.out.println("请输入年龄:");
        String age = sc.nextLine();

        //4、创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
        Student s = new Student();
        s.setName(name);
        s.getAge(age);

        //5、往集合里添加学生对象
        array.add(s);
        
        //7、遍历集合,采用通用遍历格式实现
        for (int i=0;i<array.size();i++){
         Student S = array.get(i);
         System.out.println(S.getName()+","+S.getAge());
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值