將ListA和ListB合併為乙個List

2021-08-10 03:33:51 字數 1197 閱讀 6551

應用環境:從資料庫中查詢出滿足一系列條件的記錄,然後以物件的形式封裝到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的話就好辦了...