国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - java ArrayList按照同一屬性進(jìn)行分組

java ArrayList按照同一屬性進(jìn)行分組

2020-08-13 11:49linsongbin Java教程

這篇文章主要介紹了java ArrayList按照同一屬性進(jìn)行分組的相關(guān)資料,需要的朋友可以參考下

java ArrayList按照同一屬性進(jìn)行分組

前言:

通常使用SQL查詢一批數(shù)據(jù)的時(shí)候,可以利用SQL中的GROUP BY語(yǔ)句對(duì)數(shù)據(jù)進(jìn)行分組,但是有時(shí)候出于對(duì)性能的考慮,不會(huì)使用GROUP BY,而是先把數(shù)據(jù)撈出來(lái)后,使用代碼,在內(nèi)存中按照某個(gè)屬性進(jìn)行分組。

代碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
public class SkuVo {
 
  private Long skuId;
  private String productName;
  private Long brandStoreSn;
 
  public SkuVo(Long skuId, String productName, Long brandStoreSn) {
    super();
    this.skuId = skuId;
    this.productName = productName;
    this.brandStoreSn = brandStoreSn;
  }
 
  public Long getSkuId() {
    return skuId;
  }
  public void setSkuId(Long skuId) {
    this.skuId = skuId;
  }
  public String getProductName() {
    return productName;
  }
  public void setProductName(String productName) {
    this.productName = productName;
  }
  public Long getBrandStoreSn() {
    return brandStoreSn;
  }
  public void setBrandStoreSn(Long brandStoreSn) {
    this.brandStoreSn = brandStoreSn;
  }
 
  @Override
  public String toString() {
    return "SkuVo [skuId=" + skuId + ", productName=" + productName + ", brandStoreSn=" + brandStoreSn + "]";
  }
}

假設(shè)從數(shù)據(jù)查詢出一批數(shù)據(jù),存在了List<SkuVo> 里面了。使用一個(gè)算法按照skuId對(duì)List<SkuVo>進(jìn)行分組,skuId相同的歸為一組.

分組算法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public class TestArrayListGroupByKey {
 
  public static void main(String[] args) {
    /*1、準(zhǔn)備數(shù)據(jù)**/
    SkuVo sku1 = new SkuVo(1L,"p1",100L);
    SkuVo sku2 = new SkuVo(2L,"p2",101L);
    SkuVo sku3 = new SkuVo(3L,"p3",102L);
    SkuVo sku4 = new SkuVo(3L,"p4",103L);
    SkuVo sku5 = new SkuVo(2L,"p5",100L);
    SkuVo sku6 = new SkuVo(5L,"p6",100L);
 
    List<SkuVo> skuVoList = Arrays.asList(new SkuVo [] {sku1,sku2,sku3,sku4,sku5,sku6});
 
    /*2、分組算法**/
    Map<Long, List<SkuVo>> skuIdMap = new HashMap<>();
    for (SkuVo skuVo : skuVoList) {
      List<SkuVo> tempList = skuIdMap.get(skuVo.getSkuId());
      /*如果取不到數(shù)據(jù),那么直接new一個(gè)空的ArrayList**/
      if (tempList == null) {
        tempList = new ArrayList<>();
        tempList.add(skuVo);
        skuIdMap.put(skuVo.getSkuId(), tempList);
      }
      else {
        /*某個(gè)sku之前已經(jīng)存放過(guò)了,則直接追加數(shù)據(jù)到原來(lái)的List里**/
        tempList.add(skuVo);
      }
    }
 
    /*3、遍歷map,驗(yàn)證結(jié)果**/
    for(Long skuId : skuIdMap.keySet()){
      System.out.println(skuIdMap.get(skuId));
    }
  }
}

結(jié)果如下

?
1
2
3
4
[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]]

從輸出結(jié)果看,數(shù)據(jù)已經(jīng)按照skuId進(jìn)行分組了。

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

原文鏈接:http://blog.csdn.net/linsongbin1/article/details/54341078

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 自拍偷拍中文字幕 | 特级西西人体4444xxxx | 国精品一区二区三区 | 亚洲精品综合 | 玖玖玖视频 | 亚洲一区二区三区视频 | 亚州精品天堂中文字幕 | 日韩福利片 | 欧美日韩激情 | 人人超碰免费 | 精品国产91亚洲一区二区三区www | 国产成人免费视频 | 欧美日韩第一页 | av在线精品 | 日韩国产欧美精品 | 天操天天干| 丝袜+亚洲+另类+欧美+变态 | 亚洲精品久久久一区二区三区 | 免费午夜在线视频 | 久久久精品日韩 | 久久久久久一区二区三区 | 免费黄色电影在线观看 | 五月婷婷综合网 | 亚洲综合二区 | 欧美日韩国产一区二区三区 | 青青久久 | 色综合天天综合网国产成人网 | 国产欧美中文字幕 | 国产999精品久久久久 | 日韩三级电影在线观看 | 日韩成人片 | 欧美激情精品久久久久 | 亚洲精品视频区 | 激情综合网址 | 欧美不卡 | 黄色av大片在线观看 | 激情五月婷婷综合 | 亚洲宗合网 | 国产欧美综合视频 | 青青国产视频 | 午夜精品一区 |