應用環境:從資料庫中查詢出滿足一系列條件的記錄,然後以物件的形式封裝到list中去。此時假設有兩個條件a和b,滿足a的記錄集和為lista,滿足b的記錄集合為listb,現在要將lista和listb合併為乙個list,注意lista和listb中可能有重複的記錄(因為可能某條記錄即滿足條件a又滿足條件b),要過濾掉重複的記錄。
方法過程:我們假設list中存放的物件都是order物件,屬性orderid用於標識乙個唯一的order物件。
listlist = new arraylist();
if(lista!=null)
}if(
listb
!=null)
}首先我們將
lista
中的物件全部裝入到
list
中,然後在裝入
listb中物件的
時候對listb中的每個元素進行一下判斷,看list中是否已存在該元素,這裡我們使用list介面的contains()方法。它的原理是這樣的:如上例中的
list.contains(o)
,系統會對
list
中的每個元素e呼叫
o.equals(e)
,方法,加入
list中有n
個元素,那麼會呼叫n次
o.equals(e)
,只要有一次
o.equals(e)
返回了true
,那麼list.contains(o)
返回true
,否則返回
false
。因此為了很好的使用contains()方法,我們需要重新定義下order類的equals方法,根據我們的業務邏輯,如果兩個order物件的orderid相同,那麼我們認為它們代表同一條記錄,於是equals方法定義如下:
publicbooleanequals(object obj)
這樣只要
listb
中有一條記錄的
orderid
和list
中的某條記錄的
orderid
相等,那麼我們就認為該記錄已存在,不再將它放入
list
,這樣就避免了重覆記錄的存在。
Oracle 將多條update語句合併為一條
1.oracle版本 11g 2.mybatis版本 3.2.3 批量修改資料,但where條件不一樣。表名 tablename 要求將字段a的值為1的資料修改其欄位b的值為 b1 將字段a的值為2的資料修改其欄位b的值為 b2 將字段a的值為3的資料修改其欄位b的值為 b3 一 對此可以寫3條up...
Python將多個excel檔案合併為乙個檔案
利用python,將多個excel檔案合併為乙個檔案 思路 利用python xlrd包讀取excle檔案,然後將檔案內容存入乙個列表中,再利用xlsxwriter將內容寫入到乙個新的excel檔案中。完整 hlakopot coding utf 8 將多個excel檔案合併成乙個 import 程...
如何將多個jar包合併為一
最近整合開源專案的時候發現乙個問題,每個專案都要引用一堆jar包,多有重複,且版本也不統一,如果能把功能相似的jar檔案合併為一豈不是很方便?比如apache的commons一族,axis axis2一族,xml處理一族 做法很簡單,其實jar檔案就是壓縮檔案,裝了win rar zip的話就好辦了...