Вы можете материализовать свой ключ как определенный тип c.
public class MapKey {
private Integer id;
private String name;
MapKey(Integer id, String name) {
this.id = id;
this.name = name;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
MapKey mapKey = (MapKey) o;
return Objects.equals(id, mapKey.id) &&
Objects.equals(name, mapKey.name);
}
@Override
public int hashCode() {
return Objects.hash(id, name);
}
}
, а затем использовать этот объект в качестве ключа вашей карты.
map.put(new MapKey("", 0), new Dash...);
ps: не забывайте самые важные части -> переопределите правильно equals
и hashcode
в MapKey
Извлечение:
MapKey key = new MapKey(rs.getInt(1), rs.getString(2));
if (!map.containsKey(key)) {
dashRec= new ArrayList<Dashboard>();
map.put(key, dashRec);
}