Iam_Sandeep

Untitled

Apr 28th, 2026
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.59 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. class User {
  4.     private Integer id;
  5.     private String name;
  6.     private Set<User> followers;
  7.     private Set<User> following;
  8.  
  9.     public User(Integer id, String name) {
  10.         this.id = id;
  11.         this.name = name;
  12.         this.followers = new HashSet<>();
  13.         this.following = new HashSet<>();
  14.     }
  15.  
  16.     public String getName() {
  17.         return name;
  18.     }
  19.  
  20.     // Receive notification
  21.     public void update(String message, User followee) {
  22.         System.out.println(name + " received notification: " +
  23.                 followee.getName() + " posted: \"" + message + "\".");
  24.     }
  25.  
  26.     public void addFollower(User user) {
  27.         followers.add(user);
  28.     }
  29.  
  30.     public void removeFollower(User user) {
  31.         followers.remove(user);
  32.     }
  33.  
  34.     public void notifyFollowers(String message) {
  35.         for (User follower : followers) {
  36.             follower.update(message, this);
  37.         }
  38.     }
  39.  
  40.     public void post(String content) {
  41.         System.out.println(name + " posted: \"" + content + "\".");
  42.         notifyFollowers(content);
  43.     }
  44.  
  45.     public void follow(User user) {
  46.         following.add(user);
  47.         user.addFollower(this);
  48.     }
  49.  
  50.     public void unfollow(User user) {
  51.         following.remove(user);
  52.         user.removeFollower(this);
  53.     }
  54. }
  55.  
  56. class Platform {
  57.     private Map<Integer, User> users;
  58.  
  59.     public Platform() {
  60.         users = new HashMap<>();
  61.     }
  62.  
  63.     public void addUser(Integer id, String name) {
  64.         User user = new User(id, name);
  65.         users.put(id, user);
  66.         System.out.println(name + " added successfully.");
  67.     }
  68.  
  69.     public void follow(Integer followerId, Integer followeeId) {
  70.         User follower = users.get(followerId);
  71.         User followee = users.get(followeeId);
  72.  
  73.         if (follower != null && followee != null) {
  74.             follower.follow(followee);
  75.             System.out.println(follower.getName() +
  76.                     " is now following " + followee.getName() + ".");
  77.         }
  78.     }
  79.  
  80.     public void unfollow(Integer followerId, Integer followeeId) {
  81.         User follower = users.get(followerId);
  82.         User followee = users.get(followeeId);
  83.  
  84.         if (follower != null && followee != null) {
  85.             follower.unfollow(followee);
  86.             System.out.println(follower.getName() +
  87.                     " has unfollowed " + followee.getName() + ".");
  88.         }
  89.     }
  90.  
  91.     public void post(Integer userId, String content) {
  92.         User user = users.get(userId);
  93.         if (user != null) {
  94.             user.post(content);
  95.         }
  96.     }
  97. }
Advertisement
Add Comment
Please, Sign In to add comment