首页 > 解决方案 > HashMap 集合 Java 中的重复值

问题描述

我正在做一个代码练习,但找不到在 HashMap 中插入重复值的方法。

这是我的代码:

import java.util.*;
public class Bug {

    private String Errore;
    private String Dev;
    static Set<Bug> NotAssigned = new HashSet<>();
    static Set<Bug> getAssigned = new HashSet<>();
    static Map<String, Bug> Assigned = new HashMap<>();

    Bug(String DescrErrore){
        Errore=DescrErrore;
        NotAssigned.add(this);
    }
    public static Set<Bug> getUnassigned(){
        return NotAssigned;
    }
    public void assignTo(String Dev){
        this.Dev=Dev;
        Assigned.put(Dev,this);
        NotAssigned.remove(this);
    }
    public static Set<Bug> getAssignedTo(String Dev){
        getAssigned.add(Assigned.get(Dev));
        return getAssigned;
    }

    @Override
    public String toString() {
        return "[(" +
                Errore + '\'' + "to "+ Dev +
                ")]";
    }

    public static void main(String[] args) {
        Bug b1 = new Bug("Application crashes on Windows 8"),
                b2 = new Bug("Application freezes after 2 hours"),
                b3 = new Bug("Application does not print on laser printer"),
                        b4 = new Bug("Data missing after partial save");
        Set<Bug> unassigned = Bug.getUnassigned();
        System.out.println(unassigned.size ());
        b2.assignTo("Paolo");
        b3.assignTo("Filomena");
        b4.assignTo("Filomena");
        System.out.println(unassigned.size());
        Set<Bug> filo = Bug.getAssignedTo("Filomena");
        System.out.println( filo );
    }
}

正确的输出应该是:

4
1
[("Data missing after partial save",assigned to Filomena),("Application does notprint on laser printer",assigned to Filomena)]

但是,“Filomena”是重复的,不会显示来自 HashMap 的其他错误消息。我能怎么做?抱歉我的翻译不完善。

标签: javacollections

解决方案


推荐阅读