Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion src/com/school/faang/hashset/задача_2/Solution.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,15 @@

public class Solution {
public static void main(String[] args) {

User firstUser = new User("first");
User secondUser = new User("second");
User thirdUser = new User("third");
firstUser.blockUser(secondUser);
secondUser.blockUser(thirdUser);
thirdUser.blockUser((User) null);
System.out.println(firstUser.amIBlocked());
System.out.println(thirdUser.amIBlocked());
System.out.println(firstUser.isUserBlocked(secondUser));
System.out.println(firstUser.isUserBlocked(thirdUser));
}
}
69 changes: 69 additions & 0 deletions src/com/school/faang/hashset/задача_2/User.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
package com.school.faang.hashset.задача_2;

public class User {

private String username;

private final UserBlackList userBlackList;

private boolean isUserBlocked;

public User(String username) {
this.username = username;
userBlackList = new UserBlackList();
isUserBlocked = false;
}

public String getUsername() {
return username;
}

public void blockUser(String username) {
if (username == null) {
isUserBlocked = true;
return;
}
userBlackList.blockUser(username);
}

public void blockUser(User user) {
if (user == null) {
isUserBlocked = true;
return;
}
blockUser(user.toString());
}

public void unblockUser(String username) {
if (username == null) {
isUserBlocked = false;
return;
}
userBlackList.unblockUser(username);
}

public void unblockUser(User user) {
if (user == null) {
isUserBlocked = false;
return;
}
userBlackList.unblockUser(user.toString());
}

public boolean isUserBlocked(String username) {
return userBlackList.isUserBlocked(username);
}

public boolean isUserBlocked(User user) {
return isUserBlocked(user.toString());
}

public boolean amIBlocked() {
return isUserBlocked;
}

@Override
public String toString() {
return username;
}
}
28 changes: 28 additions & 0 deletions src/com/school/faang/hashset/задача_2/UserBlackList.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package com.school.faang.hashset.задача_2;

import java.util.Set;
import java.util.HashSet;

public class UserBlackList {

private final Set<String> blackList;

public UserBlackList() {
blackList = new HashSet<>();
}

public void blockUser(String username) {
blackList.add(username);
}

public void unblockUser(String username) {
if (username == null) {
return;
}
blackList.remove(username);
}

public boolean isUserBlocked(String username) {
return blackList.contains(username);
}
}