我在數據庫中有一個包含3個值did,pid和fid的表。這是類似如下:檢查重複值的響應
---------------------
| did | fid | pid |
--------------------|
| 259 | 431 | 128 |
--------------------|
| 259 | 431 | 132 |
|-------------------|
| 260 | 432 | 128 |
--------------------|
| 260 | 432 | 129 |
|-------------------|
| 260 | 432 | 132 |
|-------------------|
| 261 | 460 | 128 |
--------------------|
| 261 | 460 | 132 |
|-------------------|
現在,如果有任何新的條目出現。我想在表格中查看它存在與否。它們都不是唯一的。在答覆中,必須明確所有人對於新條目都不能相同。
我正在使用目前雙for loop
這是行不通的。
預先感謝
EDITED
公共類DetailingTripleCheck {
private int nid;
private int did;
private int fid;
public DetailingTripleCheck() {
// TODO Auto-generated constructor stub
}
public DetailingTripleCheck(int nid, int did, int fid) {
this.nid = nid;
this.did = ddnid;
this.fid = fid;
}
public int getNid() {
return nid;
}
public void setNid(int nid) {
this.nid = nid;
}
public int getDid() {
return did;
}
public void setDid(int did) {
this.did = did;
}
public int getFid() {
return fid;
}
public void setFid(int fid) {
this.fid = fid;
}
@Override
public boolean equals(Object o) {
// TODO Auto-generated method stub
return super.equals(o);
}
@Override
public int hashCode() {
// TODO Auto-generated method stub
return super.hashCode();
}
}
當我使用這個類:
for (int i = 0; i < NewDids.length; i++) {
if (OldDids.length > 0) {
DetailingTripleCheck ddSet = new DetailingTripleCheck();
ddSet.setDdnid(Integer.parseInt(NewDids[i]));
ddSet.setProdNid(Integer.parseInt(NewNids[i]));
ddSet.setFid(Integer.parseInt(Newfids[i]));
HashSet<DetailingTripleCheck> set = new HashSet<DetailingTripleCheck>();
for (int j = 0; j < OldDids.length; j++) {
DetailingTripleCheck triple = new DetailingTripleCheck(
Integer.parseInt(OldDids[j]),
Integer.parseInt(OldNids[j]),
Integer.parseInt(OldFids[j]));
if (set.contains(triple)) {
System.out.println("TRUE");
} else {
System.out.println("FALSE");
}
}
}
創建一個新類'Triple'包含3個字段,[覆蓋'的hashCode()'和'的equals()'](http://stackoverflow.com/q/27581/572670),和將表存儲在['HashSet'](http://docs.oracle.com/javase/7/docs/api/java/util/HashSet.html)中。 – amit
@amit感謝您的迅速響應。你能舉個例子嗎? – user3154663