リスト上のJavaデータがセットに応じてグループ化されたプロパティの1

時々、私たちは、Javaでのデータ収集にグループ操作する必要があります。

例えば:ビルお金とする対象(フロート)とタイプ(文字列)は、<ビル>事前設定リスト属性ビルのタイプ属性に応じてグループ化される必要がある、お金の合計を計算します。2つのアイデアがあります。

考えました:

タイプを設定し、すべての場合を計算するには、お金の種類ごとに収集し、計算を横断します。擬似コードは次のよう:

地図<文字列、文字列>タイプマップ=新しいHashMapの<文字列、文字列>(); 

あちこち(ビル法案:billList){ 

typeMap.put(bill.getType、 ""); 

} 

前後(文字列T:typeMap.keySet){ 

{(billListビル紙幣)のための


IF(bill.getType.equals(T)){ 

//相应的业务处理

} 

} 

}

  

2考えます:

パブリック クラスのテスト{  
     公共 静的 ボイドメイン(文字列[]引数){   
        リスト <ビル>リスト= 新規のArrayList <ビル> ();  
        ビルB = ビル();  
        b.setType( "A" )。  
        b.setMoney( 1 )。  
        list.add(B)。  
        B = ビル();  
        b.setType( "B" )。  
        b.setMoney( 2 )。  
        list.add(B)。  
        B = ビル();  
        b.setType( "C" )。  
        b.setMoney( 3 )。  
        list.add(B)。  
        B = ビル();  
        b.setType( "A" )。  
        b.setMoney( 1 )。  
        list.add(B)。  
        B = ビル();  
        b.setType( "B" )。  
        b.setMoney( 2 )。  
        list.add(B)。  
        B = ビル();  
        b.setType( "C" )。  
        b.setMoney( 3 )。   
        list.add(B)。  
  
  
        一覧 <ビル>双方向= 新しいのArrayList <ビル> ();  
        (ビル法案:リスト){  
             boolean型の状態= ;  
            (ビル手形:BI){  
                 場合(bills.getType()に等しい(bill.getType())){  
                     int型マネー= bills.getMoney()。  
                    お金 + = bill.getMoney();  
                    bills.setMoney(金)。  
                    状態 = ;  
                }   
            }   
            もし(!{状態)   
                bi.add(紙幣);   
            }   
        }   
        のための(ビル紙幣:BI){   
            System.out.printlnは(bill.getType() +」 "+ bill.getMoney());   
        }   
    }   
}

結果:

2
B 4
C 6

 

おすすめ

転載: www.cnblogs.com/ZJOE80/p/10969418.html