Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

Java Java Data Structures Efficiency! Changing Course

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

Thanks, that did it!

andren
andren
28,538 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
}