将用户数据存储在哈希图中

发布于 2025-01-18 13:40:45 字数 2141 浏览 1 评论 0原文

我创建了一个将收集用户数据的表单,将其存储在hashmap中,然后在控制台中打印hashmap。我已经尝试了所有我能想到的方式,但它们没有工作。 这是我到目前为止尝试的。

//This is the class that will store user data in a hashmap
public class userRegistrationData {
    
    HashMap<String, ArrayList<String>> userData;
    
    public userRegistrationData() {
        RegistrationForm form = new RegistrationForm();
        userData = new HashMap<String,ArrayList<String>>();
        
        String id = String.valueOf(form.getUserIdField());
        String firstName = String.valueOf(form.getFirstNameTextField());
        String lastName = String.valueOf(form.getLastNameTextField());
        String phone = String.valueOf(form.getPhoneTextField());
        String city = String.valueOf(form.getCityTextField());
        String createPassword = String.valueOf(form.getCreatePasswordField());
        String confirmPassword = String.valueOf(form.getConfirmPasswordField());
        
        userData.put(id, new ArrayList<String>());
        userData.get(id).add(id);
        userData.get(id).add(firstName);
        userData.get(id).add(lastName);
        userData.get(id).add(lastName);
        userData.get(id).add(phone);
        userData.get(id).add(city);
        userData.get(id).add(createPassword);
        userData.get(id).add(confirmPassword);
    }
    private HashMap<String, ArrayList<String>> formData() {
        return userData;    
    }
    public HashMap<String, ArrayList<String>> getUserData() {
        return userData;
    }
    public void setUserData(HashMap<String, ArrayList<String>> userData) {
        this.userData = userData;
    }

    
}
//The action performed method which will listen to the submit button 
        

    @Override
    public void actionPerformed(ActionEvent e) {
        userRegistrationData data = new userRegistrationData();
        if(e.getSource().equals(submitBtn)) {
            if(data.getUserData().containsKey(getUserIdField())) {
                System.out.println(data.getUserData());
            }
        }
        
        
    }

I have created a form that will collect user data, store it in a HashMap and print the HashMap in the console. I have tried all ways I could think of but they are not working.
Here is what I've tried so far.

//This is the class that will store user data in a hashmap
public class userRegistrationData {
    
    HashMap<String, ArrayList<String>> userData;
    
    public userRegistrationData() {
        RegistrationForm form = new RegistrationForm();
        userData = new HashMap<String,ArrayList<String>>();
        
        String id = String.valueOf(form.getUserIdField());
        String firstName = String.valueOf(form.getFirstNameTextField());
        String lastName = String.valueOf(form.getLastNameTextField());
        String phone = String.valueOf(form.getPhoneTextField());
        String city = String.valueOf(form.getCityTextField());
        String createPassword = String.valueOf(form.getCreatePasswordField());
        String confirmPassword = String.valueOf(form.getConfirmPasswordField());
        
        userData.put(id, new ArrayList<String>());
        userData.get(id).add(id);
        userData.get(id).add(firstName);
        userData.get(id).add(lastName);
        userData.get(id).add(lastName);
        userData.get(id).add(phone);
        userData.get(id).add(city);
        userData.get(id).add(createPassword);
        userData.get(id).add(confirmPassword);
    }
    private HashMap<String, ArrayList<String>> formData() {
        return userData;    
    }
    public HashMap<String, ArrayList<String>> getUserData() {
        return userData;
    }
    public void setUserData(HashMap<String, ArrayList<String>> userData) {
        this.userData = userData;
    }

    
}
//The action performed method which will listen to the submit button 
        

    @Override
    public void actionPerformed(ActionEvent e) {
        userRegistrationData data = new userRegistrationData();
        if(e.getSource().equals(submitBtn)) {
            if(data.getUserData().containsKey(getUserIdField())) {
                System.out.println(data.getUserData());
            }
        }
        
        
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

请持续率性 2025-01-25 13:40:45

您可以通过此简单代码打印它:

data.getUserData().entrySet().forEach(entry -> {
System.out.println(entry.getKey() + "\n" + 
Arrays.deepToString(entry.getValue().toArray()));
});

you can print it by this simple code:

data.getUserData().entrySet().forEach(entry -> {
System.out.println(entry.getKey() + "\n" + 
Arrays.deepToString(entry.getValue().toArray()));
});
君勿笑 2025-01-25 13:40:45

userRegistrationData 类中添加tostring函数:

public void toString(String id) {
        System.out.println(userData.get(id));
}

在您的 ActionPerformed 函数中,只需调用

data.toString(String.toValue(getUserIdField()));

而不是在ToString函数中打印对象,您也可以将其返回到Action Performed函数为字符串。

Add a toString function in userRegistrationData class:

public void toString(String id) {
        System.out.println(userData.get(id));
}

In your actionPerformed function, simply call

data.toString(String.toValue(getUserIdField()));

Instead of printing the object in toString function, you can also return it to the actionPerformed function as String.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文