Java Java Data Structures Efficiency! Changing Course

Chris Gauthier
PRO
Chris Gauthier
Pro Student 6,434 Points

Not sure how to implement the second part of this challenge.

The challenge is asking me to assign the newly created video as the second video in the course list.

What is the best way to do that?

Thanks in advance.

com/example/model/Course.java
package com.example.model;

import java.util.List;

public class Course {
  private String mName;
  private List<Video> mVideos; 

  public Course(String name, List<Video> videos) {
    mName = name;
    mVideos = videos;
  }

  public String getName() {
    return mName;
  }

  public List<Video> getVideos() {
    return mVideos;
  }

}
com/example/model/Video.java
package com.example.model;

public class Video {
  private String mTitle;

  public Video(String title) {
    mTitle = title;
  }

  public String getTitle() {
    return mTitle;
  }

  public void setTitle(String title) {
    mTitle = title;
  }

}
QuickFix.java
import com.example.model.Course;
import com.example.model.Video;

import java.util.Map;

public class QuickFix {

  public void addForgottenVideo(Course course) {
    Video video1 = new Video("The Beginning Bits");
    // TODO(1):  Create a new video called "The Beginning Bits"

    // TODO(2):  Add the newly created video to the course videos as the second video.
    //Not sure how to implement adding the above video into the course list as the second value, can you help?
    Course course1 = new Course(video1.getTitle(),)


  }

  public void fixVideoTitle(Course course, String oldTitle, String newTitle) {

  }

  public Map<String, Video> videosByTitle(Course course) {
    return null;
  }

}

2 Answers

andren
andren
28,365 Points

The Course class has a method called getVideos that you can call to get access to the video list of the Course object that has been passed to your method. Once you have access to that list you can simply add the video into it at index 1 as you would any other list.

Like this:

public void addForgottenVideo(Course course) {
  // TODO(1):  Create a new video called "The Beginning Bits"
  Video video1 = new Video("The Beginning Bits");

  // TODO(2):  Add the newly created video to the course videos as the second video.
  course.getVideos().add(1, video1); // Get courses list and add video at index 1
}