При определении составного ключа для хэша-карты, таких как:HashMap составного ключ - остановить создание ключевых объектов каждому вызов решения
public key {
enum a;
enum b;
enum c;
}
Где равно и хэш-код игнорируется для сравнения этих значений (а ,До нашей эры)?
Существуют ли методы для хранения этого списка ключей, чтобы их можно было найти, запросив три значения, а не каждый раз создавая новый ключ? Например, хранить список ключей? Или попробуйте повторное использование ключа?
Сбор мусора будет большим, поскольку эти ключи будут сгенерированы при каждом вызове метода.
Таким образом, мы можем остановить:
public void update(obj) {
Key = new Key(obj.a, obj.b, obj.c)
// assume already in there map or add
Val val = hashmap.get(key)
val.update(obj.newvalues) // do some calculation
return val;
// key will then be lost after get? So lots of Garbage collection?
// if so should it explicitly be set to key = null;
}
Вы пытаетесь оптимизировать то, что, вероятно, не должно быть. Java очень быстро создает и собирает непродолжительные объекты, такие как ваши ключи. –
Yup. Сбор мусора достаточно быстрый, это не проблема. –