java之学习集合案例分析及内存图演示

结果示意图:

A:案例演示

  • * 需求:我有5个学生,请把这个5个学生的信息存储到数组中,并遍历数组,获取得到每一个学生信息。
  • Student[] arr = new Student[5]; //存储学生对象
  • arr[0] = new Student(“张三”, 23);
  • arr[1] = new Student(“李四”, 24);
  • arr[2] = new Student(“王五”, 25);
  • arr[3] = new Student(“赵六”, 26);
  • arr[4] = new Student(“马哥”, 20);

* B:画图演示

  • * 把学生数组的案例画图讲解
  • * 数组和集合存储引用数据类型,存的都是地址值

学习过程

1、首先,需要创建一个bean包 在bean包下建一个student的类,用于后面创建对象

student类的案例代码:

  1. package com.fenxiangbe.bean;
  2. public class Student {
  3. private String name;//私有一个名字变量
  4. private int age; //私有一个年龄变量
  5. public Student() {//创建一个空参构造
  6. super();
  7. }
  8. public Student(String name, int age) {//创建一个有参构造
  9. super();
  10. this.name = name;
  11. this.age = age;
  12. }
  13. //创建get和set方法
  14. public String getName() {
  15. return name;
  16. }
  17. public void setName(String name) {
  18. this.name = name;
  19. }
  20. public int getAge() {
  21. return age;
  22. }
  23. public void setAge(int age) {
  24. this.age = age;
  25. }
  26. @Override
  27. public String toString() {//toString方法重写了父类的方法
  28. return “Student [name=” + name + “, age=” + age + “]”;
  29. }
  30. }

2、新建一个collection的包,在collection包下建一个array类,用于创建对象,打印结果

案例代码:

  1. package com.fenxiangbe.collection;
  2. import com.fenxiangbe.bean.Student;
  3. public class Demo_Array {
  4. /**
  5. * A:案例演示
  6. * 需求:我有5个学生,请把这个5个学生的信息存储到数组中,并遍历数组,获取得到每一个学生信息。
  7. *
  8. Student[] arr = new Student[5]; //存储学生对象
  9. arr[0] = new Student(“张三”, 23);
  10. arr[1] = new Student(“李四”, 24);
  11. arr[2] = new Student(“王五”, 25);
  12. arr[3] = new Student(“赵六”, 26);
  13. arr[4] = new Student(“马哥”, 20);
  14. for (int i = 0; i < arr.length; i++) {
  15. System.out.println(arr[i]);
  16. }
  17. * B:画图演示
  18. * 把学生数组的案例画图讲解
  19. * 数组和集合存储引用数据类型,存的都是地址值
  20. */
  21. public static void main(String[] args) {
  22. Student[] arr = new Student[5];//创建一个长度为5的引用数据类型
  23. arr[0] = new Student(“张三”,23);//创建一个学生对象,储存在数组的第一个位置
  24. arr[1] = new Student(“李四”,24);//创建一个学生对象,储存在数组的第二个位置
  25. arr[2] = new Student(“王五”,25);//创建一个学生对象,储存在数组的第三个位置
  26. arr[3] = new Student(“赵六”,26);//创建一个学生对象,储存在数组的第四个位置
  27. //创建了5个引用数组对象,只给四个赋值,最后一个的打印结果为null
  28. for (int i = 0; i < arr.length; i++) {
  29. System.out.println(arr[i]);
  30. }
  31. }
  32. }

案例在内存中的运行内存图:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java帮帮-微信公众号-技术文章全总结

String中的null,以及String s;等区别详解

1、判断一个引用类型数据是否null。 用==来判断。 2、释放内存,让一个非null的引用类型变量指向null。这样这个对象就不再被任何对象应用了。等待JVM...

38440
来自专栏java学习

面试题56(abstract class和interface有什么区别)

面试题56 2018年1月9日 本期题目 (不定项选择题)abstractclass和interface有什么区别? A 抽象类可以有构造方法,接口中不能有构造...

27540
来自专栏编程

Python基础知识2:字典

字典一种key - value 的数据类型,就像上学用的字典通过拼音查找汉字一样;字典是Python语言中唯一的映射类型。字典对象是可变的,它是一个容器类型,能...

249100
来自专栏java学习

面试题50(关于类的加载顺序的掌握)

子类A继承父类B,A a = new A(); 则父类B构造函数、父类B静态代码块、父类B非静态代码块、子类A构造函数、子类A静态代码块、子类A非静态代码块执行...

27850
来自专栏逆向技术

C语言第九讲,结构体

30220
来自专栏深度学习与计算机视觉

C++ 静态数据成员与静态成员函数

在类中的数据成员或成员函数定义或声明前以static关键词开头,即构成静态数据成员与静态成员函数。 静态数据成员 1.静态数据成员的实现 class Time ...

26050
来自专栏待你如初见

Day04

17240
来自专栏吾爱乐享

java之学习集合的遍历及案例分析

14420
来自专栏一“技”之长

深入理解JavaScript函数 原

    从功能上理解,函数是一组可以随时运行的语句,是一段代码块,也是所谓的子程序。在JavaScript中,函数实质上也是一种对象,是Function对象。函...

7310
来自专栏机器学习算法与Python学习

python: sort, sorted, reverse

python语言中的列表排序方法有三个:reverse反转/倒序排序、sort正序排序、sorted可以获取排序后的列表。在更高级列表排序中,后两中方法还可以加...

38880

扫码关注云+社区

领取腾讯云代金券