Collection集合存儲自定義類型的對象
案例:影片信息在程序中的表示
需求:某影院系統(tǒng)需要在后邊存儲上述三部電影,然后依次展示出來
-
分析:
- 定義一個電影類,定義一個集合存儲電影對象
- 創(chuàng)建三個電影對象帕膜,封裝相關數(shù)據(jù)切厘,把三個對象存入到集合中去
- 遍歷集合中的3個對象,輸出相關信息
-
測試代碼
package com.java.collection; 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; } @Override public String toString() { return "Movie{" + "name='" + name + '\'' + ", score=" + score + ", actor='" + actor + '\'' + '}'; } }
package com.java.collection; import java.util.ArrayList; import java.util.Collection; public class MovieTestDemo { public static void main(String[] args) { Collection<Movie> movies = new ArrayList<>(); // 多態(tài)存在訪問問題网缝,左邊的父類不能調用右邊的子類方法 // 因此不能使用for循環(huán)遍歷Collection movies.add(new Movie("《頭文字D》",9.8,"陳冠希")); // 直接new出并代入袱结,加進來的是地址 movies.add(new Movie("《頭文字D》",9.8,"張柏芝")); movies.add(new Movie("《武郎賣餅》",6.8,"謝霆鋒")); System.out.println(movies); // 前提是Movie類重寫toString()方法 for (Movie movie : movies) { System.out.println("片名:" + movie.getName()); System.out.println("評分:" + movie.getScore()); System.out.println("主演:" + movie.getActor()); System.out.println(); } } }
- 集合中存儲的是元素對象的地址