集合

集合学习

快捷键

在学习java集合之前,先学习几个Eclipse中的快捷键:

alt+shift+s:(Source);
alt+shift+s+c:生成类的无参构造器;
alt+shift+s+ o:生成包含所有属性的带参构造方法;
alt+shift+s+r:生成属性的getter()和setter()方法;
alt+shift+s+s:生成类的toString()方法,可以选择包含的属性。

对象数组:

对象数组的内存图解:

示例代码:

创建一个学生类,定义属性和变量。
public class Student {
    private String name;
    private int age;

    public Student() {
        super();
        // TODO Auto-generated constructor stub
    }

    public Student(String name, int age) {
        super();
        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;
    }

    @Override
    public String toString() {
        return "Student [name=" + name + ", age=" + age + "]";
    }
}
创建5个学生类对象,并将其存放与数组中,从而实现对象数组的使
用。
public class ObjectArrayDemo {
    public static void main(String[] args) {
        //创建学生对象数组
        Student[] student = new Student[5];

        //创建5个学生对象,并赋值
        Student s1 = new Student("林青霞", 27);
        Student s2 = new Student("风清扬", 30);
        Student s3 = new Student("刘意", 30);
        Student s4 = new Student("赵雅芝", 60);
        Student s5 = new Student("王力宏", 35);

        student[0] = s1;
        student[1] = s2;
        student[2] = s3;
        student[3] = s4;
        student[4] = s5;

        /*//看到相似,就像循环改
        for(int i = 0; i < student.length; i++){
            student[i] = s + "" + (i+1); 
        }
        //循环有问题*/

        for(int i = 0; i < student.length; i++){
            System.out.println(student[i].getName() + "-----" + student[i].getAge());
        }
    }
}
数组的地址存放在栈内存中,数组的内容存放在对内存中。

这里写图片描述

集合

集合的由来

1、我们学习的java语言是一种面向对象的语言,需要通过对象对事物
进行描述,而要想存储多个对象,就不能使用一个基本变量,而应该
使用一个容器类型的变量;
2、目前,我们使用的容器类有:数组和StringBuffer,但StringBuffer
的结果是一个字符串,不一定可以满足我们的要求,因此我们只能选
择数组,即对象数组;而对象数组不能适应变化的需求,因为数组的
长度是固定的,此时,为了适应需求的变化,java为我们提供了集合。

集合和数组的区别:

A:长度区别:(最大的区别)
数组的长度是固定的;
而集合的长度是可变的。

#B:内容不同:

数组存储的是同一种数据类型元素;
集合可以存储不同类型的数据元素。
C:元素的数据类型:
数组可以存储基本数据类型,也可以存储引用数据类型;
而集合只能存储引用数据类型。

集合的特点:

只用于存储对象
长度可变
存储不同类型的对象

集合的继承体系结构

集合可以存储多个元素,但存储多个元素也有不同的需求,比如:多
个元素不能有重复的元素,多个元素按某种规则排序;因此,java提
供不同的集合类,多个集合类之间有个共性的内容,将这些共性内容
不断向上提取,最终形成集合的继承体系结构。

这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值