Skip to content

Instantly share code, notes, and snippets.

View raymcdermott's full-sized avatar

Ray McDermott raymcdermott

  • OpenGrail
  • Belgium
View GitHub Profile
@raymcdermott
raymcdermott / gist:823990
Created February 12, 2011 19:00
Condensed for loop and high order function
def getTotalItemFees = {
( for (item <- items) yield item._1.getFee * item._2 ).sum
}
@raymcdermott
raymcdermott / gist:823989
Created February 12, 2011 18:58
For loop functional style:
def getTotalItemFees = {
val fees =
for (item <- items)
yield item._1.getFee() * item._2
fees.sum // High order function on the list that came out of the for loop
}
@raymcdermott
raymcdermott / gist:823987
Created February 12, 2011 18:55
Java (OO) style
private val items = new HashMap[CartItem, Int]
def getTotalItemFees : Double = {
var sum = 0.0
for (item <- items)
sum += (item._1.getFee() * item._2)
sum
}
@raymcdermott
raymcdermott / gist:823982
Created February 12, 2011 18:49
For loop over map in Java 1.6
private Map<CartItem, Integer> cart = new HashMap<CartItem, Integer>();
public Double getTotalItemFees() {
Double fees = 0.0;
for (Map.Entry<CartItem, Integer> entry : cart.entrySet()) {
Integer quantity = entry.getValue();
CartItem cartItem = entry.getKey();
fees += (quantity * cartItem.getFee())
}
return fees;