Java Java Data Structures Efficiency! Changing Course

Enyang Mercy
PRO
Enyang Mercy
Pro Student 2,339 Points

QuickFix Challenge 1

Help with the codes please Creat a new video add the newly created video to course videos

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.TreeMap;
import java.util.List;
import java.util.Arrays;

import java.util.Map;

public class QuickFix {

  public void addForgottenVideo(Course course) {
    // 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.

  }

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

  }

  public Map<String, Video> videosByTitle(Course course) {
    Map<String, Video> byTitle = new TreeMap<String, Video>();
    ArrayList<Video> courseList = new ArrayList<Video>();
    for (Video video : course.getVideos()) {
      byTitle.put(video.getTitle(), video);
    }
    return byTitle;
  }

}

2 Answers

Dave Harker
PRO
Dave Harker
Pro Student 15,507 Points

Hi Enyang,

Considering the Task 1 parts are not filled in ... I'll assume it is that Task you want help with :)

  public void addForgottenVideo(Course course) {
    // TODO(1):  Create a new video called "The Beginning Bits"
    // Instantiate a new Video object (I called it newVideo) and pass required name into the constructor
    Video newVideo = new Video("The Beginning Bits");

    // TODO(2):  Add the newly created video to the course videos as the second video.
    // As the course has been passed in, we call the getVideos() method from that object to get the list
    // Now we have the video list we add the newVideo object to it in position 1 (2nd video as lists use a 0 based index) 
    course.getVideos().add(1, newVideo);
  }

And you're set. Hope I explained that OK :) Happy coding.

Dave.