我已經邁出了Employee類 與整型,Employee對象爲鍵值對創建地圖 這裏是我的地圖
Map<Integer,Employee> map = new HashMap<Integer,Employee>();
Employee類bean類,它具有類似名稱,ID屬性,指定; 地圖允許唯一的密鑰。但如果您不想在地圖中允許重複值 ,則必須在bean類中使用equals方法。
@Override
public boolean equals(Object object){
if (object == null) return false;
if (object == this) return true;
if (this.getClass() != object.getClass())return false;
Employee employee = (Employee)object;
if(this.hashCode()== employee.hashCode())return true;
return false;
}
,並同時增加鍵值,以地圖,你必須使用含有方法
if(!map.containsValue(map.get(id))){
map.put(id,employee);
}
containsValue
內部調用equals()
方法,因此你在騎equals方法 它會檢查每一個值(對象)與先前的對象,如果散列碼相同 它返回true意味着兩者都是相同的對象。
問題:哪些需要刪除,哪些需要保留? – BalusC 2010-02-03 21:12:32
爲什麼你在第一個地方插入重複項?我的意思是,爲什麼不在插入時檢查重複項? – 3lectrologos 2010-02-03 21:20:32
我已經在我的問題中給出了原因。HashMap中的值在從數據庫初始加載後更新。因此,我可以首先應用重複條件的原因。 – jagamot 2010-02-03 21:37:40