Home page

HashMap in Java

Mar 25, 2013, 18:31
import java.util.HashMap;
import java.util.Map;
 
public class HashMapTest {
    public static void main(String[] args) {
	Person p1 = new Person(20);
	Person p2 = new Person(20);
 
	Map<Person, Person> m = new HashMap<Person, Person>();
	m.put(p1, p2);
	m.put(p2, p1);
	System.out.println(m.size());
    }
}
 
class Person {
    private int age;
 
    public Person(int age) {
	this.age = age;
    }
 
    @Override
    public int hashCode() {
	return age;
    }
}
2 comments
Andrey

Ответ 2. Ключ будет братся из хешкода, тоесть из 20, они ссылаются на одну ячейку, ключи будут проверенный на равенство и не будут равны т. к. мы не переопределили иквел. Запишем торое значение.

Andrey

Забыл про коллизию написать )

Your comment
won’t be published

HTML will not work

Ctrl + Enter