1.1キー
1.2プログラミングコード
1.1キー
使用列挙クラス(SkuCategoryEnum)。
(テストクラス)JSONtoString法を用いて、
利用(商品やサービスのクラス)の二つの異なるリスト。
addメソッドのリスト
1.2プログラミングコード
要件:
11人のダブルプログラマはベビーカートに多くを追加、プログラマは女性の友人の流域は、すべてのフィルタリングを開始した電子式の製品を
製品のエンティティクラス:
以下のためのパッケージ変更com.imooc.zhangxiaoxi.lambda.cart; / ** *商品 * / パブリック クラスSKU { プライベート整数SKUID; // 製品番号 プライベート文字列skuName; // 製品名 プライベートダブルskuPrice; // 商品価格 のプライベート整数totalnum ; // アイテムの数 プライベートダブルtotalPrice; // 合計 プライベート列挙skuCategory; // 列挙型品種 公共SKU(SKUID整数、文字列skuName、skuPriceダブル、整数totalnum、ダブルtotalPrice、列挙skuCategory){ この .skuId = SKUID。 この .skuName = skuName。 この .skuPrice = skuPrice。 この .totalNum = totalNum。 この .totalPrice = totalPrice。 この .skuCategory = skuCategory。 } パブリック整数getSkuId(){ 戻りSKUIDと、 } パブリック文字列getSkuName(){ 戻りskuNameと、 } 公共ダブルgetSkuPrice(){ 戻りskuPriceと、 } パブリック整数getTotalNum(){ 戻りtotalNumと、 } パブリック多数価格(所与ダブル){ 返す合計金額を、 } パブリック列挙getSkuCategory(){ 戻りskuCategoryと、 } }
製品のクラス:
以下のためのパッケージ変更com.imooc.zhangxiaoxi.lambda.cart; インポートはjava.util.ArrayList; インポートはjava.util.List; パブリック クラスCartService { / ** *匿名内部クラス、メモリリークのリスク、生産プロジェクトが参照されていないが、そこにあるが、ラムダ式の参照をバックアップする * / プライベート 静的の一覧<SKU> = skuList 新しい新しいのArrayList <SKU> (){ { 追加(新新 SKU(2020001、 "UAV"、999.00,1,999.00 、SkuCategoryEnum.ELECTRONICS)); 追加(新しい新しい SKU(2020002、 "Tシャツ" 50.00,2,100.00 、SkuCategoryEnum.CLOTHING)); 追加(新しい新しい "人間の絆" SKU(2020003、30.00,1,30.00、SkuCategoryEnum.BOOKS)); 追加(新新 SKU(2020004、 "オールド・マン"、20.00,1,20.00 、SkuCategoryEnum.BOOKS)); 追加(新新 SKU(2020005、288.00,1,288.00 "安全性と効率的なプログラミングを証明します" 、 SkuCategoryEnum.BOOKS)); 追加(新新 SKU(2020006、 "バルク靴"、300.00,1,300.00 、SkuCategoryEnum.CLOTHING)); 追加(新新 SKU(2020007、 "バーベル"、2000.00,1,2000.00 、SkuCategoryEnum.SPROTS)) ; 追加(新新 SKU(2020008、 "ThinkPad機能"、5000.00,1,5000.00 、SkuCategoryEnum.ELECTRONICS)); } }; パブリック 静的リスト<SKU>getSkuList(){ リターンskuList; } / ** * versionTestA *ショッピングカートを見つけ、すべての電子製品 * *ループのためのノート (SKU SKU:skuList)のための*を使用 * @return * / パブリック 静的リスト<SKU> getElectronicsSkuList(一覧<SKU> skuList){ リスト <SKU> = lElectronicsList 新しい新規のArrayList <SKU> (); (SKU SKU用:skuList){ IF (sku.getSkuCategory() .equals(SkuCategoryEnum.ELECTRONICS)){ lElectronicsList.add(SKU); } } / * 以下のために(INT iは= 0; I <skuList.size(); I ++){ IF(。skuList.get(I).getSkuCategory()に等しい(SkuCategoryEnum.ELECTRONICS)){ lElectronicsList.add(skuList.get(I)) ; } } * / 戻りlElectronicsList。 } }
列挙クラス:
パッケージcom.imooc.zhangxiaoxi.lambda.cart; / ** *使用して列挙クラス * / パブリック 列挙SkuCategoryEnum { 服( 10、 "衣類" )、 エレクトロニクス( 20は、 "エレクトロニクス"である) Sprots( 30 「スポーツ」)、 書籍( 40、「ブックタイプ」)、 プライベート整数コード; // コード値 プライベート文字列名; // 名前 SkuCategoryEnum(コード整数、文字列名){ この .CODE = コード; この .nameの= 名前; } }
テストカテゴリ:
パッケージcom.imooc.zhangxiaoxi.lambda.cart。 輸入com.alibaba.fastjson.JSON; 輸入org.junit.Test; 輸入はjava.util.List; パブリック クラスVersionTestA { @Test / ** *筛选出电子类型产品 * / パブリック 無効getElectronicsSkuList(){ 一覧 <SKU> skuList = CartService.getSkuList(); 一覧 <SKU> electronicList = CartService.getElectronicsSkuList(skuList)。 System.out.println( "electronicList ==" + JSON.toJSONString(electronicList、真)); } }
ログを出力します:
electronicList == [ { "skuCategory": "エレクトロニクス" 、 "SKUID":2020001 、 "skuName": "无人机" 、 "skuPrice":999.0 、 "totalNum":1 、 "totalPrice":999.0 }、 { " skuCategory ":" ELECTRONICS」、 "SKUID":2020008 、 "skuName": "ThinkPadの" 、 "skuPrice":5000.0 、 "totalNum":1 、 "totalPrice":5000。0 } ] プロセスの終了コードで終了 0