集合基础的使用

集合概述:

提供一种存储空间可变的存储模型,存储的数据容量可以发生改变

集合类有很多,先介绍ArrayList

ArrayList<E>

                        可调整大小的数组实现

                        <E>是一种特殊的数据类型,泛型

怎么用?

在出现E的地方我们使用引用数据类型替换即可

举例:ArrayList<String>,ArrayList<Student>

                      

package com.it.heima_01;

import java.util.ArrayList;

/*
* ArrayList
*           public ArrayList()  创建一个空白的集合对象
*           public boolean add(E e)  将指定的元素追加到此集合的末尾
*           public void add (int index,E element) 在此集合任意索引处插入元素
*
*
* */
public class ArrayList_01 {
    public static void main(String[] args){
//       ① public ArrayList()  创建一个空白的集合对象
        ArrayList<String> array=new ArrayList<String>();
        System.out.println(array);
//        ②public boolean add(E e)  将指定的元素追加到此集合的末尾
//        array.add("a");
//        System.out.println(array.add("a"));//此处返回的是Boolean类型的值
        array.add ("i");
        array.add ("love");
        array.add ("you");
        System.out.println(array);
//        ③public void add (int index,E element) 在此集合任意索引处插入元素
//        array.add ( 1, "and");
//        array.add ( 3, "hello");
//        IndexOutOfBoundsException索引越界
        array.add ( 4, "world");
        System.out.println(array);
    }

}

package com.it.heima_01;

import java.util.ArrayList;

public class ArrayList_02 {
    public static void main(String[] args) {
        ArrayList<String> array=new ArrayList<String>();
        array.add("I");
        array.add("deem");

        array.add("is");
        array.add("very");
        array.add("perfect");
        array.add("idea");
        array.add(2,"this");
        System.out.println("输出集合元素"+array);
//        删除指定索引处的元素,返回删除是否成功
//        array.remove("very");
        System.out.println("删除“very”是否成功:"+array.remove("very"));
        System.out.println("删除指定元素后的集合:"+array);
//        删除指定索引的元素,并返回被删除元素
        System.out.println("被删除元素:"+array.remove(4));
        System.out.println("删除指定索引的元素,并返回被删除元素:"+array);

//        修改指定索引处元素,返回被修改元素
        //        array.set(3,"terrible");
        System.out.println("返回被修改元素:"+array.set(4,"method"));
        System.out.println("修改指定元素后的集合:"+array);
//        返回指定索引元素

        System.out.println("返回指定索引元素:"+ array.get(1));
//        IndexOutOfBoundsException 索引超出了集合范围
        System.out.println("返回指定索引元素:"+ array.get(5));
//        返回集合中元素的个数(集合的长度)
        System.out.println( array.size());
    }
}

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

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

package com.it.heima_02;

import java.util.ArrayList;

/*
* 需求:创建一个存储字符串的集合,存储3个字符串元素,使用程序实现在控制台遍历该集合
* */
public class ArrayListTest_01 {
    public static void main(String[] args) {
        ArrayList<String> array=new ArrayList<String>();
        array.add("I");
        array.add("love");
        array.add("you");
        System.out.println("集合中有:"+array);
//        输出指定索引的数组元素
//        System.out.println(array.get(0));
//        循环输出集合中的元素
        for (int i=0;i< array.size();i++)
        {
            System.out.println(array.get(i));
        }

    }


}

 案例二:存储学生对象

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

package com.it.heima_02;

import java.util.ArrayList;
/*
* 需求:创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合
* */
public class ArrayListTest_02 {
    public static void main(String[] args) {
        ArrayList<Student> array= new ArrayList<Student>();
        //        定义三个学生类
        Student s1=new Student("张三",18);
        Student s2=new Student("李四",22);
        Student s3=new Student("王麻子",30);
//        s1.setName("张三");
//        s1.setAge(1);
        s1.show();
        s2.show();
        s3.show();
//        创建一个集合,将上面的学生类存储在集合中,然后再将集合中字符串遍历出来
        array.add(s1);
        array.add(s2);
        array.add(s3);
//        System.out.println(array);
//        System.out.println(array.get(2));
//        System.out.println(s3.getName()+","+s3.getAge());
        for (int i=0;i<array.size();i++)
        {
            Student s=array.get(i);
//            直接输出s 输出的是三个元素原来所属的地址,我们需要通过该地址去获取里面的值
            System.out.println("集合从三个学生对象处获取到了,他们的存储地址:"+s);
            System.out.println("用成员方法去获取值:"+s.getName()+","+s.getAge());
        }
    }
}

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

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

        学生的姓名和年龄来自键盘录入

package com.it.heima_02;

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

/*
* 需求:创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合
* 学生的姓名和年龄来自于键盘录入。
*
* 思路
*      创建一个集合,用来存储输入的学生对象
*      建立两个包①姓名字符串②int类型的包
*      将输入的两个元素拼接成字符串
*      然后存储在集合中
*      最后遍历集合中的元素
*
* */
public class ArrayListTest_03 {
    public static void main(String[] args) {
//        创建一个集合,用来存储输入的学生对象
        ArrayList<Student> array=new ArrayList<Student>();
        arrayStudent(array);
        arrayStudent(array);
        arrayStudent(array);
//        调用三次方法之后,集合中就得到了三组学生对象
//        然后我们在用循环分别输出集合元素
        for (int i=0;i<3;i++)
        {

            Student s=array.get(i);
//            System.out.println(array);
            System.out.println(s.getName()+","+s.getAge());
        }


    }
    public static void arrayStudent(ArrayList<Student> array)
    {
         Scanner sc=new Scanner(System.in);
            System.out.println("请输入一个名字");
            String name=sc.nextLine();
            System.out.println("请输入年龄");
            int age=sc.nextInt();
            Student  s=new Student(name,age);
//            s.setName(name);
//            s.setAge(age);
            array.add(s);

    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值