java.io.BufferedReader; import java.io.FileReader;

EBK JAVA PROGRAMMING
9th Edition
ISBN:9781337671385
Author:FARRELL
Publisher:FARRELL
Chapter9: Advanced Array Concepts
Section: Chapter Questions
Problem 2PE
icon
Related questions
Question

 

        public List<String> getLikes(String user)

This will take a String representing a user (like “Mike”) and return a unique List containing all of the users that have liked the user “Mike.”

        public List<String> getLikedBy(String user)

This will take a String representing a user (like “Tony”) and return a unique List containing each user that “Tony” has liked.

create a Main to test your work.

 

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

public class FacebookLikeManager {
    public List<String> facebookMap;
    private Set<String> likesSets;

    public FacebookLikeManager() {
        facebookMap = new ArrayList<>();
        likesSets = new HashSet<>(Arrays.asList("Mike","Kristen","Bill","Sara"));
    }

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


            while (line != null) {
                String[] lineWords = line.split("[\\s,%$]+");
                for (String word : lineWords) {
                    


                        String cleanWord = word.replaceAll("[^A-Za-z]", "").toUpperCase();
   
                        facebookMap.add(cleanWord);
                
            }
                line = reader.readLine();
            }


        } catch (IOException ex) {
            System.err.format("IOException: %s%n", ex);
        }
    }

    public List<String> getAllUsers(){
        List<String> userList = new ArrayList<>();
        Set<String> users = new HashSet<>();
        for(String usersName: facebookMap){
            users.add(usersName);
        }
        userList.addAll(users);
        return userList;
    }

    public List<String> getLikes(String user) {
       
    }
    public List<String> getLikedBy(String user) {
        
    }

}

 

public class Main {

    public static void main(String[] args) {

        FacebookLikeManager main = new FacebookLikeManager();

        main.buildMap(args[0]);

        System.out.println(main.getAllUsers());

    }

}

 

users.txt

 

Mike: Kristen, Sara, Nate, Anthony, Randy
Kristen: Mike, John, Steve, Bill
Bill: Sara, Nate
Sara: Nate, Anthony

Expert Solution
Step 1

To implement the getLikes and getLikedBy methods, you can use a HashMap to keep track of the likes of each user. The keys of the HashMap would be the users, and the values would be a Set of the users that each user has liked.

steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
InputStream
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
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
Programming Logic & Design Comprehensive
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage