gpt4 book ai didi

java - 在映射中多次添加相同的类对象作为 KEY

转载 作者:太空宇宙 更新时间:2023-11-04 14:25:37 26 4
gpt4 key购买 nike

我有测试类,它包含属性名称和薪水,现在我想多次添加测试类的相同对象作为 map 中的键。如何实现这一目标?不想使用 MultiMap

import java.util.HashMap;
import java.util.Hashtable;
import java.util.Map;


public class InitialPage {

private String name;
private double salary;

public InitialPage(String name,double salary)
{
this.name=name;
this.salary=salary;
}

public static void main(String[] args) {

InitialPage s3 =new InitialPage("Nitesh",23889371);
InitialPage s1 =new InitialPage("bagri",23889371);
InitialPage s2 =new InitialPage("Nitesssh",23889371);


HashMap<InitialPage, String> map1=new HashMap<InitialPage,String>();
map1.put(s1, "nit");
map1.put(s2, "nits");
map1.put(s1, "nite");
map1.put(s1, "anite");

System.out.println("size "+map1.size());
System.out.println(map1.get(s1));
}

}

它的大小仅显示为 2,并且相同的键将覆盖 VALUE(键值)的值。

最佳答案

使用 Map<TestClass, List<ValueClass>>相反。

这是一个关于如何将您自己的multimap作为Map的包装器的基本示例。 .

public class BasicMultiMap<K, V> {
private Map<K, List<V>> map = new HashMap<>();
public void put(K key, V value) {
List<V> list = map.get(key);
if (list == null) {
list = new ArrayList<>();
map.put(key, list);
}
list.add(value);
}
public List<V> get(K key) {
return map.get(key);
}
}

关于java - 在映射中多次添加相同的类对象作为 KEY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26700376/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com