1 / 19

Arrays

Arrays. Rows and rows and rows. Image courtesy of http ://www.flickr.com/photos/andrewmorrell/54069752/sizes/z/in/photostream/. Arrays. A contiguous collection of cells Cells are also known as: elements, items, entries, slots Each cell contains the same “type” of item

gudrun
Download Presentation

Arrays

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. Arrays Rows and rows and rows Image courtesy of http://www.flickr.com/photos/andrewmorrell/54069752/sizes/z/in/photostream/

  2. Arrays • A contiguous collection of cells • Cells are also known as: elements, items, entries, slots • Each cell contains the same “type” of item • The number of cells in an array will never change! • Cells are given names (in a sense) • Indices (subscripts) beginning at 0 A cell can be thought of as a box that contains data of some kind. An array is a bunch of boxes

  3. Arrays • When using arrays • First: create the array itself. Must specify size! • Second: place data into each box • Third: relax • Syntax for declaring an array variable • ClassName [] variableName; • Syntax for creating an array • new ClassName [ ArraySize ]

  4. Arrays • Syntax for accessing an element of the array (opening a box and holding the contents) • arrayVariable[ index ] • The index must be between 0 and the length of the array – 1. • Syntax for replacing an element of the array (opening a box and replacing the contents) • arrayVariable[ index ] = someExpression ; • The index must be between 0 and the length of the array -1 • Type conformance rules are still followed • Syntax for finding the length of an array • arrayVariable.length

  5. Array Example int[] numbers; int number; numbers = new int[3]; numbers[0] = 1; numbers[1] = -1; numbers[2] = numbers[0]+numbers[1]; numbers[numbers[2]] = numbers[1]; number = numbers[1]; numbers

  6. Array Example int[] numbers; int number; numbers = new int[3]; numbers[0] = 1; numbers[1] = 3; numbers[2] = numbers[1]-numbers[0]; numbers[numbers[2]] = numbers[1]; number = numbers[1]; numbers

  7. Array Example int[] numbers; int number; numbers = new int[3]; numbers[0] = 1; numbers[1] = 3; numbers[2] = numbers[1]-numbers[0]; numbers[numbers[2]] = numbers[1]; number = numbers[1]; numbers

  8. Array Example int[] numbers; int number; numbers = new int[3]; numbers[0] = 1; numbers[1] = 3; numbers[2] = numbers[1]-numbers[0]; numbers[numbers[2]] = numbers[1]; number = numbers[1]; numbers

  9. Array Example int[] numbers; int number; numbers = new int[3]; numbers[0] = 1; numbers[1] = 3; numbers[2] = numbers[1]-numbers[0]; numbers[numbers[2]] = numbers[1]; number = numbers[1]; numbers

  10. Array Example int[] numbers; int number; numbers = new int[3]; numbers[0] = 1; numbers[1] = 3; numbers[2] = numbers[1]-numbers[0]; numbers[numbers[2]] = numbers[1]; number = numbers[1]; numbers

  11. Array Examples Rectangle[] rects = new Rectangle[4]; rects[0] = new Rectangle(10, 20, 30, 40); rects[1] = new Rectangle(0, 0, 100, 100); rects[2] = rects[1]; Rectangle oneRect = new Rectangle(10, 10, 10, 10); rects[3] = oneRect; oneRect = rects[0]; char[] bunchOfChars = new char[20]; bunchOfChars[0] = ‘A’; bunchOfChars[bunchOfChars.length-1] = ‘?’;

  12. Arrays • Can be passed to functions and returned from functions • Problem: write a method that takes an array of Rectangle objects and sets all of their colors to red private void colorAllRed( Rectangle[] rects ) { for(inti=0; i<rects.length; i++) { rects[i].setBackground( Color.red ); } } Rectangle[] someRects; someRects = new Rectangle[3]; someRects[0] = new Rectangle(0,0,5,5); someRects[1] = new Rectangle(6,6,8,8); someRects[2] = new Rectangle(10,10,10,10); colorAllRed( someRects );

  13. Initializing arrays • Arrays can be filled with data when declared int[] arr = {10, 100, 1000}; Oval[] circles = { new Oval(1,1,1,1), new Oval(2,2,2,2) }; int[] arr = new int[3]; arr[0] = 10; arr[1] = 100; arr[2] = 1000; Oval[] circles = new Oval[2]; circle[0] = new Oval(1,1,1,1); circle[1] = new Oval(2,2,2,2);

  14. Examples • Write a program to sum the elements in an array of doubles. public double sum(double[] values) { double result = 0; for(int i=0; i<values.length; i++) { result += values[i]; } return result; }

  15. Examples • Write a function that accepts an array of doubles named A and a double named V. The function returns the index of the first occurrence of V in A or -1 if X is not in A. public int indexOf(double[] a, double v) { for(int i=0; i<a.length; i++) { if(v == a[i]) return i; } return -1; }

  16. Examples • Write a function that accepts an array of doubles named A and a double named V. The function returns an array of all elements of A that are greater than V. public double[] greaterThan(double[] a, double v) { int count=0; for(int i=0; i<a.length; i++) { if(a[i] > v) count++; } double result = new double[count]; int resultIndex = 0; for(int i=0; i<a.length; i++) { if(a[i] > v) result[resultIndex++] = a[i]; } return result; }

  17. Examples • Write a function that accepts an array of ints and “shuffles” them into a random order. • Do the following 2*n times, where n is the number of elements in the array • select to random indices into the array and swap the elements in the array • public void shuffle(int[] values) { • for(int i=0; i<values.length*2; i++) { • int ranIndex1 = (int)(Math.random()*values.length); • int ranIndex2 = (int)(Math.random()*values.length); • int tmp = values[ranIndex1]; • values[randIndex1] = values[ranIndex2]; • values[randIndex2] = tmp; • } • } int[] data = {1,2,3,4,5}; shuffle(data);

  18. Examples • Write a function that accepts an array of ints and returns the smallest index of the smallest value • /* @pre = values.length >= 1 */ • public int findMin(int[] values) { • int minIndex = 0; • for(int i=1; i<values.length; i++) { • if(values[i] < values[minIndex]) minIndex = i; • } • return minIndex; • }

  19. Tic Tac Toe • Write a TicTacToeModel using arrays!

More Related