@@ -109,17 +109,40 @@ public static List<String> getAllTraderNamesAndSortByName() {
109109                .sorted ()
110110                .collect (toList ());
111111    }
112-      
112+ 
113113    public  static  boolean  areAnyTradersFromMilan () {
114114        return  transactions .stream ()
115-                 .anyMatch (t  -> t .getTrader ().getCity ().equals ("Milan" ));
115+                 .anyMatch (t  -> "Milan" .equals (t .getTrader ().getCity ()));
116+     }
117+ 
118+     public  static  Integer [] getAllTransValuesFromTradersInCambridge () {
119+         return  transactions .stream ()
120+                 .filter (t  -> "Cambridge" .equals (t .getTrader ().getCity ()))
121+                 .map (Transaction ::getValue )
122+                 .toArray (Integer []::new );
123+     }
124+ 
125+     public  static  int  findHighestTransactionValue () {
126+         return  transactions .stream ()
127+                 .map (Transaction ::getValue )
128+                 .reduce ((t1 , t2 ) -> (t1  > t2 ) ? t1  : t2 ) // can replace with .reduce(Integer::max) 
129+                 .get ();
130+     }
131+     
132+     public  static  Transaction  getSmallestTransaction () {
133+         return  transactions .stream ()
134+                 .reduce ((t1 , t2 ) -> t1 .getValue () < t2 .getValue () ? t1  : t2 )
135+                 .get ();
116136    }
117137
118138    public  static  void  main (String [] a ) {
119-         System .out .println (getTransactionsIn2011SortedByValue ());
120-         System .out .println (findUniqueCities ());
121-         System .out .println (getAllTradersFromCambridgeAndSortByName ());
122-         System .out .println (getAllTraderNamesAndSortByName ());
123-         System .out .println (areAnyTradersFromMilan ());
139+         System .out .println ("1: "  + getTransactionsIn2011SortedByValue ());
140+         System .out .println ("2: "  + findUniqueCities ());
141+         System .out .println ("3: "  + getAllTradersFromCambridgeAndSortByName ());
142+         System .out .println ("4: "  + getAllTraderNamesAndSortByName ());
143+         System .out .println ("5: "  + areAnyTradersFromMilan ());
144+         System .out .println ("6: "  + Arrays .asList (getAllTransValuesFromTradersInCambridge ()));
145+         System .out .println ("7: "  + findHighestTransactionValue ());
146+         System .out .println ("8: "  + getSmallestTransaction ());
124147    }
125148}
0 commit comments