對ArrayList按照某個屬性進行分組

2021-07-25 22:53:58 字數 1414 閱讀 5405

概述

通常使用sql查詢一批資料的時候,可以利用sql中的group by語句對資料進行分組,但是有時候出於對效能的考慮,不會使用group by,而是先把資料撈出來後,使用**,在記憶體中按照某個屬性進行分組。

**

public

class

skuvo

public long getskuid()

public

void

setskuid(long skuid)

public string getproductname()

public

void

setproductname(string productname)

public long getbrandstoresn()

public

void

setbrandstoresn(long brandstoresn)

@override

public string tostring()

}

假設從資料查詢出一批資料,存在了list裡面了。使用乙個演算法按照skuidlist進行分組,skuid相同的歸為一組.

public

class testarraylistgroupbykey );

/*2、分組演算法**/

map> skuidmap = new hashmap<>();

for (skuvo skuvo : skuvolist)

else

}/*3、遍歷map,驗證結果**/

for(long skuid : skuidmap.keyset())

}}

結果如下
[skuvo [skuid=1, productname=p1, brandstoresn=100]]

[skuvo [skuid=2, productname=p2, brandstoresn=101], skuvo [skuid=2, productname=p5, brandstoresn=100]]

[skuvo [skuid=3, productname=p3, brandstoresn=102], skuvo [skuid=3, productname=p4, brandstoresn=103]]

[skuvo [skuid=5, productname=p6, brandstoresn=100]]

從輸出結果看,資料已經按照skuid進行分組了。

PHP對多維陣列按照某個鍵值大小進行排序

實際工作中,常常要對陣列進行排序操作,下面簡單講解一下,運用array multisort 函式 進行對多維陣列鍵值大小進行排序。多維陣列按照某索引的值大小進行排序 author zhao jinhan email xb zjh 126.com web date 2013年12月27日16 58 1...

按照CAPTION去關閉某個視窗

你可以使用api函式findwindow和postmessage去尋找指定的視窗,並關閉它。下面的例子教給你怎樣找到並關掉乙個caption為 caluclator 的程式。dim winhwnd as long dim retval as long winhwnd findwindow vbnul...

php對二維陣列中按照某個鍵進行排序

desc 給定二維陣列按照指定的鍵進行排序 param array return array function array sort arr,keys,stype asc if stype asc else reset keysvalue foreach keysvalue as k v retur...