Java Java Data Structures Efficiency! Changing Course

Mehmet Arabaci
Mehmet Arabaci
4,432 Points

I feel like I'm so close but keep getting this error "./QuickFix.java:22: error: cannot find symbol Map newMap??

I feel like my solution is right (or very close at least) but I keep getting an error on line 22 of the QuickFix doc which is where I initialized the HashMap. Error is:

./QuickFix.java:22: error: cannot find symbol Map newMap = new HashMap<>();

I've seen some solutions on the forum that have used the TreeMap but I'd like to know why my solution is not passing...because it's driving me crazy.

Thanks guys

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) {
   // TODO(1):  Create a new video called "The Beginning Bits"
        Video newVideo = new Video("The Beginning Bits");

        // TODO(2):  Add the newly created video to the course videos as the second video.
         course.getVideos().add(1, newVideo);

  }

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

  }

  public Map<String, Video> videosByTitle(Course course) {
    Map<String, Video> newMap = new HashMap<>();
    for (Video videos : course.getVideos()) {
    newMap.put(videos.getTitle(), videos);
    }
    return newMap;
   }

}

1 Answer

Jennifer Nordell
STAFF
Jennifer Nordell
Treehouse Staff

Hi there! You are getting close. It's reporting that it can't find HashMap because it can't. To use a HashMap, you must first import the class to do so.

import java.util.HashMap;

You will need to include this in the appropriate place for it to stop complaining that it can't find it :smiley:

Hope this helps! :sparkles:

Mehmet Arabaci
Mehmet Arabaci
4,432 Points

Thank you. Worked a treat.