Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Collection Methods9-29-2010Opening DiscussionDo you have any questions about the quiz?Solutions to the interclass problem.Minute essay comments:If you feel confusion, you should try to schedule a time to come talk to me.Why are array lengths fixed? Are there variable length arrays?Parametric TypesYou should notice that when we make an array or a list, the type is followed by square brackets.These types are parametric. So they take type arguments.In Scala, type parameters are placed in square brackets.Using ArraysWe can get to the elements in an array by putting an index in parentheses.arr(5)This syntax can be used in expressions to read values.It can also be used in assignments to store values in the array. This is what it means to be mutable.Let's look at some examples of this.Using ListsYou can do direct access on lists, but it is inefficient.The better method is to use the head and tail methods.The elements in a list can't be changed. However, you can efficiently add new elements at the front of the list.Standard MethodsThere are lots of methods on collections. The API can help us see all of them.Part of collections: drop, init, last, slice, splitAt, take, takeRightBoolean tests: contains, endsWith, isEmpty, nonEmpty, startsWithSearching: indexOf, lastIndexOfOther: mkString, reverse, zip, zipWithIndexOther MethodsIf the elements in a list support addition or multiplication, you can use the sum and product methods.If they are ordered you can do min and max.Having sum and length makes averages really easy.With min you can even drop a grade easily.Higher Order MethodsThe most powerful methods are ones you can pass functions into.exist, forall – Boolean checks like for math.filter, partition – separate collection based on Boolean.map – apply function to all the elements.reduceLeft – apply function moving through collectionfoldLeft – apply function moving through, but allows initial value so it can return a different type. This is curried.Let's Put These Into ActionI want to spend the rest of the class time playing with these methods and seeing what we can do with them.A String is a collection so you can do these things with a String as well.Minute EssayAssume you have an array called numbers. Write code to take the average of all the numbers less than 100 in the array. (This is easily done in two lines.)No class on Friday.Interclass problem:Write a function that takes an array of numeric grades, determines a letter grade for each and calculates a
View Full Document