for (String name : likedBy) {                    String likedUser= name.trim();                     Set likes = likesMap.getOrDefault(likedUser, new HashSet<>()); Here you create a new Set for likes. This is in the iteration over the likers though so it results in many missing entries.   [  How do i Fix this  ]   import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; public class FacebookLikeManager {     private Map> likesMap;     public FacebookLikeManager() {         likesMap = new HashMap<>();     }     public void buildMap(String filePath) {         try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {             String line = reader.readLine();             while (line != null) {                                 String[] lineWords = line.split(":");                 String user = lineWords[0].trim();                 String[] likedBy = lineWords[1].split(",");                 for (String name : likedBy) {                     String likedUser= name.trim();                     Set likes = likesMap.getOrDefault(likedUser, new HashSet<>());                     likes.add(user);                     likesMap.put(likedUser, likes);                 }                 line = reader.readLine();             }         } catch (IOException ex) {             System.err.format("IOException: %s%n", ex);         }     }     public List getAllUsers() {         return new ArrayList<>(likesMap.keySet());     }     public List getLikes(String user) {         Set liked = likesMap.get(user);         if (liked == null) {             liked = new HashSet<>();         }         return new ArrayList<>(liked);     }     public List getLikedBy(String user) {         List likedBy = new ArrayList<>();         for (Map.Entry> post : likesMap.entrySet()) {

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

for (String name : likedBy) {

                   String likedUser= name.trim();
                    Set<String> likes = likesMap.getOrDefault(likedUser, new HashSet<>());

Here you create a new Set for likes. This is in the iteration over the likers though so it results in many missing entries.   [  How do i Fix this  ]
 
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

public class FacebookLikeManager {
    private Map<String, Set<String>> likesMap;

    public FacebookLikeManager() {
        likesMap = new HashMap<>();
    }

    public void buildMap(String filePath) {
        try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {
            String line = reader.readLine();

            while (line != null) {
               
                String[] lineWords = line.split(":");
                String user = lineWords[0].trim();
                String[] likedBy = lineWords[1].split(",");
                for (String name : likedBy) {

                    String likedUser= name.trim();
                    Set<String> likes = likesMap.getOrDefault(likedUser, new HashSet<>());
                    likes.add(user);
                    likesMap.put(likedUser, likes);
                }
                line = reader.readLine();
            }
        } catch (IOException ex) {
            System.err.format("IOException: %s%n", ex);
        }
    }

    public List<String> getAllUsers() {
        return new ArrayList<>(likesMap.keySet());
    }

    public List<String> getLikes(String user) {
        Set<String> liked = likesMap.get(user);
        if (liked == null) {
            liked = new HashSet<>();
        }
        return new ArrayList<>(liked);
    }

    public List<String> getLikedBy(String user) {
        List<String> likedBy = new ArrayList<>();
        for (Map.Entry<String, Set<String>> post : likesMap.entrySet()) {
            if (post.getValue().contains(user)) {
                likedBy.add(post.getKey());
            }
        }
        return likedBy;
    }
}

public class Main {
    public static void main(String[] args) {
        FacebookLikeManager main = new FacebookLikeManager();
        main.buildMap(args[0]);
        System.out.println(main.getAllUsers());
        System.out.println(main.getLikes("Kristen"));
        System.out.println(main.getLikedBy("Sara"));
    }
}
 
Mike: Kristen, Sara, Nate, Anthony, Randy
Kristen: Mike, John, Steve, Bill
Bill: Sara, Nate
Sara: Nate, Anthony
Expert Solution
steps

Step by step

Solved in 3 steps with 2 images

Blurred answer
Knowledge Booster
Map
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education