改造user ,使得userId相同视为一个对象,user是Key,User的username做value
如果您想要将具有相同userId的用户视为一个对象,其中User对象是键,而User对象的username是值,您可以使用Java的Map<User, String>
数据结构来实现。以下是示例代码:
java
import java.util.*;class User {private int userId;private String username;public User(int userId, String username) {this.userId = userId;this.username = username;}public int getUserId() {return userId;}public String getUsername() {return username;}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;User user = (User) o;return userId == user.userId;}@Overridepublic int hashCode() {return Objects.hash(userId);}
}public class UserManagement {public static void main(String[] args) {Map<User, String> userMap = new HashMap<>();User user1 = new User(1, "User One");User user2 = new User(2, "User Two");User user3 = new User(1, "User Three"); // 具有相同的userIduserMap.put(user1, user1.getUsername());userMap.put(user2, user2.getUsername());userMap.put(user3, user3.getUsername()); // 相同的User对象会被覆盖// 打印所有用户及其usernamefor (Map.Entry<User, String> entry : userMap.entrySet()) {System.out.println("User ID: " + entry.getKey().getUserId() + ", Username: " + entry.getValue());}}
}