Arrays And Array Lists Should array indices start
- Slides: 26
Arrays And Array. Lists "Should array indices start at 0 or 1? My compromise of 0. 5 was rejected without, I thought, proper consideration. " - S. Kelly-Bootle Arrays and Array. Lists Arrays in Java 1
Arrays in Java 8 Java has built in arrays as well as more complicated classes to automate many array tasks (the Array. List class) 8 arrays hold elements of the same type – primitive data types or classes – space for array must be dynamically allocated with new operator. (Size is any integer expression. Due to dynamic allocation does not have to be a constant. ) public void array. Examples() { int[] int. List = new int[10]; for(int i = 0; i < int. List. length; i++) { assert 0 >= i && i < int. List. length; int. List[i] = i * i; } int. List[3] = int. List[4] * int. List[3]; } Arrays and Array. Lists Arrays in Java 2
Array Details 8 all arrays must be dynamically allocated 8 arrays have a public, final field called length – built in size field, no separate variable needed – don't confuse length (capacity) with elements in use 8 elements start with an index of zero, last index is length - 1 8 trying to access a non existent element results in an Array. Index. Out. Of. Bounds. Exception (AIOBE) Arrays and Array. Lists Arrays in Java 3
Array Initialization 8 Array variables are object variables 8 They hold the memory address of an array object 8 The array must be dynamically allocated 8 All values in the array are initialized (0, 0. 0, char 0, false, or null) 8 Arrays of primitives and Strings may be initialized with an initializer list: int[] int. List = {2, 3, 5, 7, 11, 13}; double[] d. List = {12. 12, 0. 12, 45. 3}; String[] s. List = {"Olivia", "Kelly", "Isabelle"}; Arrays and Array. Lists Arrays in Java 4
Arrays of objects 8 A native array of objects is actually a native array of object variables – all object variables in Java are really what? – Pointers! public void object. Array. Examples() { Rectangle[] rect. List = new Rectangle[10]; // How many Rectangle objects exist? rect. List[5]. set. Size(5, 10); //uh oh! for(int i = 0; i < rect. List. length; i++) { rect. List[i] = new Rectangle(); } } rect. List[3]. set. Size(100, 200); Arrays and Array. Lists Arrays in Java 5
Array Utilities 8 In the Arrays class 8 binary. Search, equals, fill, and sort methods for arrays of all primitive types (except boolean) and arrays of Objects – overloaded versions of these methods for various data types 8 In the System class there is an arraycopy method to copy elements from a specified part of one array to another – can be used for arrays of primitives or arrays of objects Arrays and Array. Lists Arrays in Java 6
The Array. List Class 8 A class that is part of the Java Standard Library and a class that is part of the AP subset 8 a kind of automated array 8 not all methods are part of the ap subset Arrays and Array. Lists Arrays in Java 7
About Lists (in general) 8 A list is an ordered collection or a sequence. 8 Array. List implements the List interface 8 The user of this interface will have control over where in the list each element is inserted. 8 The user can access elements by their integer index (position in the list), and search for elements in the list. 8 Items can be added, removed, and accessed from the list Arrays and Array. Lists Arrays in Java 8
Methods 8 Array. List() //constructor 8 void add(int index, Object x) 8 boolean add(Object x) 8 Object set(int index, Object x) 8 Object remove(int index) 8 int size () 8 Object get(int index) 8 Iterator iterator() Arrays and Array. Lists Arrays in Java 9
How the methods work 8 add: – boolean add(Object x) – inserts the Object x at the end of the list (size increases by 1), returns true – void add(int index, Object x) – inserts the Object x at the given index position (elements will be shifted to make room and size increases by 1) Arrays and Array. Lists Arrays in Java 10
How the methods work 8 get: – returns the Object at the specified index – should cast when using value returned – throws Index. Out. Of. Bounds. Exception if index<0 or index>=size Arrays and Array. Lists Arrays in Java 11
How the methods work 8 set – replaces value of Object parameter at the given index – size is not changed Arrays and Array. Lists Arrays in Java 12
How the methods work 8 remove – removes the element at the specified index – throws Index. Out. Of. Bounds. Exception if index<0 or index>=size – size will be decreased by 1 – returns Object removed Arrays and Array. Lists Arrays in Java 13
Examples Array. List club = new Array. List(); club. add(“Spanky”); club. add(“Darla”); club. add(“Buckwheat”); System. out. print(club); Displays: [Spanky, Darla, Buckwheat] Arrays and Array. Lists Arrays in Java 14
//using club from previous slide club. set(1, “Mikey”); System. out. print(club); Displays: [Spanky, Mikey, Buckwheat] Arrays and Array. Lists Arrays in Java 15
//using club from previous slide club. add(0, club. remove(club. size()-1)); System. out. print(club); Displays: [Buckwheat, Spanky, Mikey] Arrays and Array. Lists Arrays in Java 16
//Array. Lists only contain Objects!! Array. List odds = new Array. List(); for(int i=1; i<10; i+=2) odds. add(new Integer(i)); System. out. println(odds); Displays: [1, 3, 5, 7, 9] Arrays and Array. Lists Arrays in Java 17
//Array. Lists only contain Objects!! Array. List odds = new Array. List(); for(int i=1; i<10; i+=2) { Integer x = new Integer(i); odds. add(x); } System. out. println(odds); Displays: [1, 3, 5, 7, 9] Arrays and Array. Lists Arrays in Java 18
Objects and Casting //Casting when pulling out from Array. List names = new Array. List(); names. add("Clint"); names. add("John"); names. add("Robert"); names. add("Henry"); Object obj = names. get(2); //ok System. out. println( obj. to. String() ); String str 1 = names. get(3); //syntax error String str 2 = (String)(names. get(4)); //ok char c = ((String)(names. get(0))). char. At(0); //Gack!! Arrays and Array. Lists Arrays in Java 19
How the methods work 8 iterator – returns an Iterator object – Iterators allow all of the Objects in the list to be accessed one by one, in order – methods for an Iterator object • has. Next • next • remove Arrays and Array. Lists Arrays in Java 20
public boolean has. Next() 8 Returns true if the iteration has more elements 8 Ex: while(it. has. Next()) //do something Arrays and Array. Lists Arrays in Java 21
public Object next() 8 Returns the next element in the iteration 8 Each time this method is called the iterator “moves” 8 Ex: while(it. has. Next()) { Object obj = it. next(); if( //obj meets some condition) //do something } Arrays and Array. Lists Arrays in Java 22
public void remove() 8 Removes from the collection the last element returned by the iterator 8 Can be called only once per call to next while(it. has. Next()) { Object obj = it. next(); if( //obj meets some condition) it. remove(); } Arrays and Array. Lists Arrays in Java 23
Remove Example public void remove. All. Length(Array. List li, int len) { //pre: li contains only String objects //post: all Strings of length = len removed //wrong way String temp; for(int i = 0; i < li. size(); i++) { temp = (String)li. get(i); if( temp. length() == len ) li. remove(i); } } What if the list contains ["hi", "ok", "the", "so", "do"] and len = 2? Arrays and Array. Lists Arrays in Java 24
Remove Example public void remove. All. Length(Array. List li, int len) { //pre: li contains only String objects //post: all Strings of length = len removed //right way String temp; for(int i = 0; i < li. size(); i++) { temp = (String)li. get(i); if( temp. length() == len ) { li. remove(i); i--; } } } What if the list contains ["hi", "ok", "the", "so", "do"] and len = 2? Arrays and Array. Lists Arrays in Java 25
Remove Example public void remove. All. Length(Array. List li, int len) { //pre: li contains only String objects //post: all Strings of length = len removed //right way using iterator String temp; iterator it = li. iterator(); while( it. has. Next() ) { temp = (String)li. next(); if( temp. length() == len ) it. remove(); } } What if the list contains ["hi", "ok", "the", "so", "do"] and len = 2? Arrays and Array. Lists Arrays in Java 26
- Array of arrays c++
- Array indices must be positive integers or logical values
- If you gotta start somewhere why not here
- Triage start
- Dynamic arrays and amortized analysis
- Searching and sorting arrays in c++
- Advantages of array
- Pin grid array and land grid array
- Difference between broadside and endfire array
- What is peer editing
- Types of microscopes
- Different types of microscope and their uses
- When focusing a specimen you should always start with the
- Microscope
- Types of microscope
- Parallel arrays in c
- Ragged array
- 潘仁義
- Parallel arrays
- Why do we need arrays?
- Arreglo unidimensional en java
- Java arreglos bidimensionales
- Mips arrays
- Polynomial representation using array in c
- Arrays in arm assembly
- Global arrays in c
- Computer science arrays