1 / 28

Generics and The ArrayList Class Lecture 13

Generics and The ArrayList Class Lecture 13. Part 1. The ArrayList Class. The ArrayList Class. ArrayList is a class in the standard Java libraries.

Download Presentation

Generics and The ArrayList Class Lecture 13

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Generics and The ArrayList Class Lecture 13 University Of Ha’il (Girls Branch)  Semester 081

  2. Part 1 The ArrayList Class University Of Ha’il (Girls Branch)  Semester 081

  3. The ArrayList Class • ArrayList is a class in the standard Java libraries. • Unlike arrays, which have a fixed length once they have been created, an ArrayList is an object that can grow and shrink while your program is running. • In general, an ArrayList serves the same purpose as an array, except that an ArrayList can change length while the program is running. University Of Ha’il (Girls Branch)  Semester 081

  4. ArrayLists Disadvantages • An ArrayList is less efficient than an array. • It does not have the convenient square bracket notation. • The base type of an ArrayList must be a class type (or other reference type): it cannot be a primitive type (int, double, or char). University Of Ha’il (Girls Branch)  Semester 081

  5. Using the ArrayList Class • In order to make use of the ArrayList class, it must first be imported from the package java.util. • An ArrayList is created and named in the same way as object of any class, except that you specify the base type as follows: ArrayList<BaseType> aList = new ArrayList<BaseType>(); • An initial capacity can be specified when creating an ArrayList as well. • e.g. The following code creates an ArrayList that stores objects of the base type String with an initial capacity of 20 items. ArrayList<String> list =new ArrayList<String>(20); University Of Ha’il (Girls Branch)  Semester 081

  6. The ArrayList Methods • The tools for manipulating arrays consist only of the square brackets and the instance variable length. • ArrayLists, however, come with a selection of powerful methods that can do many of the things for which code would have to be written in order to do them using arrays. University Of Ha’il (Girls Branch)  Semester 081

  7. The ArrayList Methods Example: ArrayList<Double> list1 = new ArrayList<Double>(30); ArrayList<String> list2 = new ArrayList<String>(); University Of Ha’il (Girls Branch)  Semester 081

  8. The ArrayList Methods Example: ArrayList<String> list = new ArrayList<String>(); list.add(“Simab”); list.add(“Shahid”); list.add(0,“Semester 081”); University Of Ha’il (Girls Branch)  Semester 081

  9. The ArrayList Methods Example: ArrayList<String> list = new ArrayList<String>(); int index = 1; list.add(“Hi”); list.add(“There”); string S1 = list.set(index, “Hello”); List.add(S1); String S2 = list.get(index); University Of Ha’il (Girls Branch)  Semester 081

  10. Example 01 • ArrayList<integer> list = new ArrayList<integer>(); int index = 2; list.add(1); // will add at index 0 list.add(2); // will add at index 1 index = 1; • integer i= list.set(index, 7); System.out.println(i); • Output : 2 • The set() function of ArrayList class set the index with the given value and returned the value previously stored at that index University Of Ha’il (Girls Branch)  Semester 081

  11. Example 01 • ArrayList<integer> list = new ArrayList<integer>(); int index = 2; list.add(1); // will add at index 0 list.add(2); // will add at index 1 index = 1; • integer i= list.get(index); System.out.println(i); • Output : 2 • The get() function of ArrayList class returned the returned the value stored at that index University Of Ha’il (Girls Branch)  Semester 081

  12. The ArrayList Methods University Of Ha’il (Girls Branch)  Semester 081

  13. The ArrayList Methods University Of Ha’il (Girls Branch)  Semester 081

  14. Example • ArrayList<Integer> list = new ArrayList<Integer> (20); list.add(1); list.add(2); list.add(3); int index = 1; list.remove(index);   for(Integer i : list) System.out.println(i +" "); Output: 1 3 In this code the remove function has removed the value stored at index 1. University Of Ha’il (Girls Branch)  Semester 081

  15. Example • ArrayList<Integer> list = new ArrayList<Integer> (20); list.add(1); list.add(2); list.add(3); int index = 1; Integer i =list.remove(index); System.out.println(i +" "); Output: 2 University Of Ha’il (Girls Branch)  Semester 081

  16. Example • ArrayList<Integer> list = new ArrayList<Integer> (20); list.add(1); list.add(2); list.add(3); list.clear(); for(Integer i : list) System.out.println(i +" "); Output: It will not print any thing because the clear() will delete all the elements of the list. University Of Ha’il (Girls Branch)  Semester 081

  17. The ArrayList Methods University Of Ha’il (Girls Branch)  Semester 081

  18. Example • ArrayList<Integer> list = new ArrayList<Integer> (20); list.add(1); list.add(2); list.add(3); int index ; index = list.indexOf(2); System.out.println(“Index of 2 is “ + index); Output: Index of 2 is 1 University Of Ha’il (Girls Branch)  Semester 081

  19. Example • ArrayList<Integer> list = new ArrayList<Integer> (20); list.add(4); list.add(2); list.add(3); list.add(4); int index ; index = list.lastIndexOf(4); System.out.println(“Last Index of 4 is “ + index); Output: Index of 4 is 3 University Of Ha’il (Girls Branch)  Semester 081

  20. The ArrayList Methods University Of Ha’il (Girls Branch)  Semester 081

  21. The ArrayList Methods University Of Ha’il (Girls Branch)  Semester 081

  22. The ArrayList Methods University Of Ha’il (Girls Branch)  Semester 081

  23. Why are Some Parameters of Type Base_Type and Others of type Object • When looking at the methods available in the ArrayList class, there appears to be some inconsistency. • In some cases, when a parameter is naturally an object of the base type, the parameter type is the base type. • However, in other cases, it is the type Object. • This is because the ArrayList class implements a number of interfaces, and inherits methods from various classes. • These interfaces and classes specify that certain parameters have type Object. University Of Ha’il (Girls Branch)  Semester 081

  24. For-each Loop for ArrayList Objects • The ArrayList class is an example of a collection class. • Starting with version 5.0, Java has added a new kind of for loop called a for-each or enhanced for loop. • This kind of loop has been designed to cycle through all the elements in a collection (like an ArrayList). • Syntax: for (Array_Base_Type Variable : ArrayList_Object) Statement • Example: ArrayList<Integer> list = new ArrayList<Integer>(10); for (Integer element : list) element = 20 ; University Of Ha’il (Girls Branch)  Semester 081

  25. Use trimToSize to Save Memory • An ArrayList automatically increases its capacity when needed. • However, the capacity may increase beyond what a program requires. • In addition, although an ArrayList grows automatically when needed, it does not shrink automatically. • If an ArrayList has a large amount of excess capacity, an invocation of the method trimToSize will shrink the capacity of the ArrayList down to the size needed. University Of Ha’il (Girls Branch)  Semester 081

  26. Example (ArrayList class) import java.util.*; class ArrayListDemo { public static void main(String[] args) { ArrayList<String> list = new ArrayList<String> (20); list.add("AB") ; list.add("CD") ; list.add("GH") ; list.add("IJ") ; list.add("KL") ; list.add("MN") ; list.add("QR") ; list.add("ST") ; list.add("WX") ; list.add("YZ") ; // Print the elements of the ArrayList System.out.println("The following is the initial ArrayList:"); for(String s : list) System.out.print(s +" "); // Add elements to the ArrayList list.add(2 , "ef") ; list.add(7 , "op") ; list.add(10 , "uv") ; // Print the new ArrayList System.out.println(" "); System.out.println("The following is the new ArrayList:"); for(String s : list) System.out.print(s +" "); continued University Of Ha’il (Girls Branch)  Semester 081

  27. Example (ArrayList class) // Print the element at position index1 in the ArrayList System.out.println(" "); int index1=11; String element = list.get(index1) ; System.out.println("The element at position " +" " +index1 +" " +"is" +" " +element); // Print the index of an element of the ArrayList System.out.println(" "); int index = list.indexOf("CD") ; System.out.println("The element CD is at position " +" “ +index); } } Output: The following is the initial ArrayList: AB CD GH IJ KL MN QR ST WX YZ The following is the new ArrayList: AB CD ef GH IJ KL MN op QR ST uv WX YZ The element at position 11 is WX The element CD is at position 1 University Of Ha’il (Girls Branch)  Semester 081

  28. Parameterized Classes and Generics • The class ArrayList is a parameterized class. • It has a parameter, denoted by Base_Type, that can be replaced by any reference type to obtain a class for ArrayLists with the specified base type. • Starting with version 5.0, Java allows class definitions with parameters for types. • These classes that have type parameters are called parameterized class or generic definitions, or, simply, generics. University Of Ha’il (Girls Branch)  Semester 081

More Related