Class Notes (810,368)
Canada (494,091)
COMP 2402 (26)
Pat Morin (24)
Lecture 2

Week 2.pdf

6 Pages
Unlock Document

Carleton University
Computer Science
COMP 2402
Pat Morin

COMP 2402 ­ AT 301 ­ 2013 09 10 ­ Week 2 Class 1 ­  introduction to the first assignment. (Just reading what's on the assignment webpage) ­  do not modify main{}. ­  first source for help with the assignment is to post in the culearn forum. ­  prof seems nervous that people will be able to finish this in time. Java Collections Framework ­  as a java programmer you should know this inside­out ­  the colections framwork serves as a good introduction to data structures and performance trade offs. The framework contains 1.  Interfaces ­> specifies the operations (methods/functions) that are supported (by some class) (What) 2.  Implementation ­> code (classes) that implements the operations defined within the interface (How) 3.  Algorithms ­> coode that does "something". (not a data structure). In java are usually static methods. Or procedures in other languages. Interfaces ­  like a class ­  a list of methods with no bodies. Types of interfaces in java Collection  ­  stores some objects of type T ­  add(x) [usually supported], remove(x) [sometimes supported], size() [almost always], iterate [always] String[] a = {"sheldon", "penny", "raj", "leonard", "amy", "bernadette", "howard", "stuart" }; System.out.println("Contents of a:"); for (String s : a) System.out.println(s); Collection c = new ArrayList(); for (String s : a) c.add(s); System.out.println("Contents of c: " + c); System.out.println("c.size() = " + c.size()); Set  ­  a mathematical set ­  sets are in a hashed order that can not be relied upon, designed to be fast. ­  an unordered set of distinct items ­  add(x) [usually supported], remove(x) [sometimes supported], size() [almost always], contains() [T/F if set contains x], iterate [always] ­  contains() is the advantage of a set. usually this method is really fast. Set s = new HashSet(); s.addAll(c); System.out.println("Contents of s: " + s); System.out.println("s.contain(raj): " + s.contains("raj")); System.out.println("s.contain(smeldon): " + s.contains("smeldon")); s.add("smeldon"); s.add("raj"); System.out.println("Contents of s: " + s); SortedSet ­  a special set that stores things in a sorted order. ­  just a little bit slower than Set ­  if you don't specifically need a sorted set, use set SortedSet ss = new TreeSet(); ss.addAll(c); System.out.println("Contents of ss: " + ss); System.out.println("ss.contain(raj): " + ss.contains("raj")); System.out.println("ss.contain(smeldon): " + ss.contains("smeldon")); ss.add("smeldon"); ss.add("raj"); System.out.println("Contents of ss: " + ss); List ­  a sequence of items, indexed 0,1,2,3..,size()­1 [whenever you talk about a data structure the element "n" is the number of elements] ­  add(i,x), add(x), remove(i), get(i), set(i,x) are supported. ­ efficiency of a list is suspect and depends completely on the implementation of the list. List ell = new ArrayList(); for (String x : c) ell.add(x); System.out.println("Contents of ell: " + ell); ell.remove(2); System.out.println("Contents of ell: " + ell); Queue ­ conceptually imagine a bag with some elements in it. ­  add(x), and remove()  ­  maps are not collections because they take keys on to values. ­  stores a set of keys ­  each key is asigned a value ­  get(k), put(k,x) Map m = new HashMap(); m.put("amy", "girl"); m.put("sheldon", "boy"); m.put("penny", "girl"); m.put("leonard", "boy"); System.out.println("Contents of m: " + m); m.put("sheldon", "asexual"); System.out.println("Contents of m: " + m); System.out.println("m.get(sheldon): " + m.get("sheldon")); COMP ­ 2402 ­ AT 301 ­ 2013 09 12 ­ Week 2 Class 2 ­  Today we're going to talk about implimentations of the interfaces. As you can see from the table, the Java Collections Framework provides several general­purpose implementations of the Set, List , and Mapinterfaces. In each case, one implementation — HashSet, ArrayList, and HashMap — is clearly the one to use for most applications, all other things being equal. Note that the SortedSet and the SortedMap interfaces do not have rows in the table. Each of those interfaces has one implementation (TreeSet and TreeMap) and is listed in the Set and the Map rows. There are two general­ purpose Queue implementations —LinkedList, which is also a List implementation, and PriorityQueue, which is omitted from the table. These two implementations provide very different semantics: LinkedList provides FIFO semantics, while PriorityQueue orders its elements according to their values. ­  If you want to us
More Less

Related notes for COMP 2402

Log In


Don't have an account?

Join OneClass

Access over 10 million pages of study
documents for 1.3 million courses.

Sign up

Join to view


By registering, I agree to the Terms and Privacy Policies
Already have an account?
Just a few more details

So we can recommend you notes for your school.

Reset Password

Please enter below the email address you registered with and we will send you a link to reset your password.

Add your courses

Get notes from the top students in your class.