
package com.itheima.arraylist;import java.util.ArrayList;public class ArrayListTest5 {public static void main(String[] args) {// 目标:理解ArrayList集合存储自定义类型的对象// 1.定义电影类// 2.创建三个电影对象Movie m1 = new Movie("肖申克的救赎",9.7,"罗宾斯");Movie m2 = new Movie("霸王别姬",9.7,"张国荣、张丰毅");Movie m3 = new Movie("阿甘正传",9.5,"汤姆.汉克斯");// 3.创建一个电影类型的ArrayList集合,存储三部电影对象ArrayList<Movie> movies = new ArrayList<>();// 存储的是Movie类的对象/*// 可以理解为将原来的String类替换为(自己定义的)Movie类这样(集合里面的Movie元素可以调用其方法)*/movies.add(m1);movies.add(m2);movies.add(m3);System.out.println(movies); // 直接输出是输出集合存储的对象地址// [com.itheima.arraylist.Movie@776ec8df, com.itheima.arraylist.Movie@4eec7777, com.itheima.arraylist.Movie@3b07d329]//4.遍历电影类型的集合中的每个电影对象,访问它的信息即可for (int i = 0; i < movies.size(); i++) {Movie m = movies.get(i); // 得到的是对象System.out.println("电影名称:" + m.getName());System.out.println("电影得分:" + m.getScore());System.out.println("电影主演:" + m.getActor());System.out.println("--------------------");}}}// 这是自己定义的Movie类package com.itheima.arraylist;public class Movie {private String name;private double score;private String actor;public Movie() {}public Movie(String name, double score, String actor) {this.name = name;this.score = score;this.actor = actor;}public String getName() {return name;}public void setName(String name) {this.name = name;}public double getScore() {return score;}public void setScore(double score) {this.score = score;}public String getActor() {return actor;}public void setActor(String actor) {this.actor = actor;}}
集合只能存储引用类型的对象,集合存储的元素不是对象本身,而是对象的地址
