ソースを参照

changes to save directings and actings without hashmap

Phil 7 年 前
コミット
cc69fc43cd
2 ファイル変更38 行追加16 行削除
  1. 30 16
      MovieDB/src/data/DataBase.java
  2. 8 0
      MovieDB/src/data/Director.java

+ 30 - 16
MovieDB/src/data/DataBase.java

@@ -11,18 +11,43 @@ public class DataBase {
 	private ArrayList<Actor> actors = new ArrayList();
 	private ArrayList<Director> directors = new ArrayList();
 	private ArrayList<User> users = new ArrayList();
-	private HashMap<Integer,Integer> actings = new HashMap<>();
-	private HashMap<Integer,Integer> directings = new HashMap<>();
 	
 	private DataBase() {}
 	
 	
 		public void addActing(int actorId,int movieId) {
-			actings.put(actorId, movieId);
+			getMovieById(movieId).addActor(getActorById(actorId));
+			getActorById(actorId).addMovie(getMovieById(movieId));
+		}
+		
+		
+		public Actor getActorById(int id) {
+			for(Actor a : actors) {
+				if(a.getId() == id)
+					return a;
+			}
+			return null;
+		}
+		
+		public Movie getMovieById(int id) {
+			for(Movie m : movies) {
+				if(m.getId() == id)
+					return m;
+			}
+			return null;
+		}
+		
+		public Director getDirectorById(int id) {
+			for(Director d : directors) {
+				if(d.getId() == id)
+					return d;
+			}
+			return null;
 		}
 		
 		public void addDirecting(int dierctorID, int movieId) {
-			directings.put(dierctorID, movieId);
+			getDirectorById(dierctorID).addMovie(getMovieById(movieId));
+			getMovieById(movieId).addDirector(getDirectorById(dierctorID));
 		}
 	
 		public void addMovie(Movie m) {
@@ -50,17 +75,6 @@ public class DataBase {
 			return users;
 		}
 
-
-		public HashMap<Integer, Integer> getActings() {
-			return actings;
-		}
-
-
-		public HashMap<Integer, Integer> getDirectings() {
-			return directings;
-		}
-
-
 		public void addUser(String userName, float rating, int movieId) {
 			for(User u : users) {
 				if(u.getName().equals(userName)) {
@@ -87,7 +101,7 @@ public class DataBase {
 		
 		public void printMovies() {
 			for( Movie m : movies) {
-				System.out.println(m.toString());
+				System.out.println(m);
 			}
 		}
 		

+ 8 - 0
MovieDB/src/data/Director.java

@@ -1,9 +1,17 @@
 package data;
 
+import java.util.ArrayList;
+
 public class Director {
 
 	private int id;
 	private String name;
+	private ArrayList<Movie> movies = new ArrayList<>();
+	
+	public void addMovie(Movie m) {
+		movies.add(m);
+	}
+	
 	public int getId() {
 		return id;
 	}