SlideShare a Scribd company logo
1
 Arrays
 Declaring and constructing arrays
 Using and returning arrays
 Aliasing
2
 ArrayList is used when the size of a collection
is not known in advance
 But in some situations the maximum collection size
can be pre-determined
 A special fixed-size collection type is available: the array
 Arrays can store object references or primitive values
 Arrays use a special syntax
3
 An array is an indexed sequence of variables
of the same type
 The array is called a
 Its elements are called a[0], a[1], a[2], etc.
◦ Each element is a separate variable
 Notice that (as with ArrayList) indexing starts from 0
a[0] a[1] a[2] a[3] a[4]
a
4
a[5]
 Arrays are used when we have large numbers of identical objects that
we want to operate on as a collection
◦ A collection of student marks that we want to analyse
◦ A collection of temperatures that we want to average
◦ A collection of names that we want to sort
 e.g. Bureau of Meteorology data
5
ALBANY
Max 25.1 25.1 24.1 21.5 18.7 16.6 15.7 15.9 17.4 18.8 20.8 23.4
Min 13.5 14.3 13.3 11.6 9.8 8.1 7.4 7.4 7.9 9.0 10.6 12.3
Rain 28 25 29 66 102 104 126 104 81 80 46 24
PERTH AIRPORT
Max 31.4 31.7 29.5 25.2 21.4 18.7 17.6 18.3 20.0 22.3 25.4 28.5
Min 16.7 17.4 15.7 12.7 10.2 9.0 8.0 7.9 8.8 10.1 12.4 14.6
Rain 8 14 15 46 108 175 164 117 68 48 25 12
 An array is declared using similar syntax to any other variable
int[] a;
 Declares a to be a variable representing an array of ints
double[] temps;
 Declares temps to be a variable representing an array of
doubles
String[] names;
 Declares names to be a variable representing an array of
Strings
Student[] marks;
 Declares marks to be a variable representing an array of
Student objects
6
 An array is an object in a Java program
 Therefore the declaration simply creates a reference to “point to” the
array, but does not create the array itself
 Hence the declaration
int[] a;
creates a space called a, big enough to hold an object
reference, and initially set to the special value null
a
null Only space for the array
reference has been
created, not for the array
itself
7
 In order to actually create the array, we must use the keyword new
(just like creating any other object)
int[] a;
a = new int[7];
0 0 0 0 00 0
a
An object is created that
contains seven variables of type
int
8
The expression a.length can be
used to refer to the size of a
• The seven variables do not have individual names
• They are referred to by the array name, and an index
0 0 0 0 00 0
a
9
• Array elements can be used in the same ways and
in the same contexts as any other variable of that
type
a[0] a[1]
0
a[2]
7
a[3]
-1
a[5]
0
a[4]
15
a[6]
17
a[4] = 15;
a[2] = 7;
a[3] = 2*a[2] – a[4];
a[6] = a[0] + 17;
10
 A lot of the power of arrays comes from the fact that
the index can be a variable or an expression
int x = 3;
a[x] = 5;
a[7-x] = 44;
a[0]
0
a[1]
0
a[2]
7
a[3]
5
a[5]
0
a[4]
44
a[6]
17
11
private int sum(int[] a)
{
int sum = 0;
for (int i : a)
{
sum = sum + i;
}
return sum;
}
12
• Here i is an element of the array a
private int sum(int[] a)
{
int sum = 0;
for (int i = 0; i < a.length; i++)
{
sum = sum + a[i];
}
return sum;
}
13
• Here i is being used as an index into the array a
• Note that this is only well-defined for non-empty
arrays!
• Again i is an element of the array a
private int max(int[] a)
{
int max = a[0];
for (int i : a)
{
if (i > max) max = i;
}
return max;
}
14
private int max(int[] a)
{
int max = a[0];
for (int i = 1; i < a.length; i++)
{
if (a[i] > max) max = a[i];
}
return max;
}
15
• Again i is being used as an index into the array a
private int max(int[] a)
{
int k = 0;
for (int i = 1; i < a.length; i++)
{
if (a[i] > a[k]) k = i;
}
return k;
}
16
• A for-each loop will not work for this example
 An array literal is written using {}
 Array literals in this form
can only be used in declarations
 Related uses require new
private int[] numbers = {3, 15, 4, 5};
declaration,
creation, and
initialization
numbers = new int[] {3, 15, 4, 5};
17
private int[] sums(int[] a)
{
int[] sums = new int[a.length];
sums[0] = a[0];
for (int i = 1; i < a.length; i++)
{
sums[i] = sums[i–1] + a[i];
}
return sums;
} 18
• Suppose we want to find the running sums of a
sums({2,5,–8,3}) = {2,7,–1,2}
private int[] avs(int[] a)
{
int[] avs = new int[a.length / 2];
for (int i = 0; i < a.length; i = i+2)
{
avs[i / 2] = (a[i] + a[i+1]) / 2;
}
return avs;
}
19
• Suppose we want to average each pair of elements of a
avs({2,6,–8,2}) = {4,–3}
private void sums(int[] a)
{
for (int i = 1; i < a.length; i++)
{
a[i] = a[i–1] + a[i];
}
}
20
• Sometimes instead of creating a new
array, we want to update the old one
• But this method doesn’t return
anything…
21
int[] a, b;
a b
22
int[] a, b;
a = new int[3];
a[0]
0
a[1]
0
a[2]
0
a b
23
int[] a, b;
a = new int[3];
b = a;
a[0]
0
a[1]
0
a[2]
0
a b
24
int[] a, b;
a = new int[3];
b = a;
System.out.println(b[2]);
a[0]
0
a[1]
0
a[2]
0
a b
0
25
int[] a, b;
a = new int[3];
b = a;
System.out.println(b[2]);
a[2] = 9;
a[0]
0
a[1]
0
a[2]
9
a b
0
26
int[] a, b;
a = new int[3];
b = a;
System.out.println(b[2]);
a[2] = 9;
System.out.println(b[2]);
a[0]
0
a[1]
0
a[2]
9
a b
0
9
27
• This is called aliasing
• Basically one array with two names
• It applies in the same way with any
other object-types too
• Be careful with equality over arrays
• In some applications we might want to
use aliasing deliberately
 Arrays were discussed.
 Declaration and construction of arrays
 Different methods for using and returning arrays discussed.
 Aliasing with an example was discussed.
28

More Related Content

PDF
Arrays Java
PDF
An Introduction to Programming in Java: Arrays
PPTX
Java arrays
PDF
Array in Java
PPT
Array in Java
PDF
Week06
DOCX
Chapter 4
PPTX
Array lecture
Arrays Java
An Introduction to Programming in Java: Arrays
Java arrays
Array in Java
Array in Java
Week06
Chapter 4
Array lecture

What's hot (20)

PPTX
Arrays in C++ in Tamil - TNSCERT SYLLABUS PPT
PPTX
Arrays in Java
PDF
Arrays in python
PPT
PPTX
Arrays in java
PDF
Array data structure
PDF
Java Arrays
PPTX
Array in C# 3.5
PPTX
Computer programming 2 Lesson 13
PPTX
Arrays in java language
PPT
C++ Arrays
PPTX
Data structure array
PPT
Java Arrays
PPTX
Data Structures - Lecture 3 [Arrays]
PPTX
Module 7 : Arrays
PPTX
Python array
PPT
Arrays in C++
PPT
Array
PPTX
Array in Java
Arrays in C++ in Tamil - TNSCERT SYLLABUS PPT
Arrays in Java
Arrays in python
Arrays in java
Array data structure
Java Arrays
Array in C# 3.5
Computer programming 2 Lesson 13
Arrays in java language
C++ Arrays
Data structure array
Java Arrays
Data Structures - Lecture 3 [Arrays]
Module 7 : Arrays
Python array
Arrays in C++
Array
Array in Java
Ad

Viewers also liked (12)

PPT
Arrays
PPTX
Advanced data structures slide 1 2
PDF
Introduction to data structure
PPSX
C Programming : Arrays
PPTX
Introduction to Data structure & Algorithms - Sethuonline.com | Sathyabama Un...
PPTX
Arrays In C++
PPTX
Array in C
PDF
Lecture17 arrays.ppt
PPT
Array Presentation (EngineerBaBu.com)
PPTX
Array in c language
PPT
PPT
DATA STRUCTURES
Arrays
Advanced data structures slide 1 2
Introduction to data structure
C Programming : Arrays
Introduction to Data structure & Algorithms - Sethuonline.com | Sathyabama Un...
Arrays In C++
Array in C
Lecture17 arrays.ppt
Array Presentation (EngineerBaBu.com)
Array in c language
DATA STRUCTURES
Ad

Similar to Lecture 6 - Arrays (20)

PPT
Data Structure Midterm Lesson Arrays
PPTX
ch 7 single dimension array in oop .pptx
PPT
Eo gaddis java_chapter_07_5e
PPTX
Chap1 array
PDF
PPTX
Arrays in programming
PDF
Java arrays (1)
PPTX
07+08slide.pptx
PPTX
Chapter6 (4) (1).pptx plog fix down more
PPT
ch07-arrays.ppt
PDF
PPT
Arrays Basicfundamentaldatastructure.ppt
PPT
Cso gaddis java_chapter8
PPT
PPTX
DOCX
Arraysnklkjjkknlnlknnjlnjljljkjnjkjn.docx
PPTX
Chapter 7.1
PPTX
Chapter 7.3
PPT
ch06.ppt
PPT
Data Structure Midterm Lesson Arrays
ch 7 single dimension array in oop .pptx
Eo gaddis java_chapter_07_5e
Chap1 array
Arrays in programming
Java arrays (1)
07+08slide.pptx
Chapter6 (4) (1).pptx plog fix down more
ch07-arrays.ppt
Arrays Basicfundamentaldatastructure.ppt
Cso gaddis java_chapter8
Arraysnklkjjkknlnlknnjlnjljljkjnjkjn.docx
Chapter 7.1
Chapter 7.3
ch06.ppt

More from Syed Afaq Shah MACS CP (7)

PDF
Lecture 8 Library classes
PDF
Lecture 7- Iterator and for loop over arrays
PDF
Lecture 5 - Interaction with for each and while loops
PDF
Lecture 4 - Object Interaction and Collections
PDF
Lecture 3 Conditionals, expressions and Variables
PDF
Lecture 2 - Classes, Fields, Parameters, Methods and Constructors
PDF
Lecture 1 - Objects and classes
Lecture 8 Library classes
Lecture 7- Iterator and for loop over arrays
Lecture 5 - Interaction with for each and while loops
Lecture 4 - Object Interaction and Collections
Lecture 3 Conditionals, expressions and Variables
Lecture 2 - Classes, Fields, Parameters, Methods and Constructors
Lecture 1 - Objects and classes

Recently uploaded (20)

PPTX
ai tools demonstartion for schools and inter college
PDF
Digital Strategies for Manufacturing Companies
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
AI in Product Development-omnex systems
PDF
Nekopoi APK 2025 free lastest update
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
medical staffing services at VALiNTRY
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Essential Infomation Tech presentation.pptx
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
ai tools demonstartion for schools and inter college
Digital Strategies for Manufacturing Companies
Wondershare Filmora 15 Crack With Activation Key [2025
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Upgrade and Innovation Strategies for SAP ERP Customers
How to Migrate SBCGlobal Email to Yahoo Easily
Design an Analysis of Algorithms II-SECS-1021-03
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
AI in Product Development-omnex systems
Nekopoi APK 2025 free lastest update
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
2025 Textile ERP Trends: SAP, Odoo & Oracle
medical staffing services at VALiNTRY
Design an Analysis of Algorithms I-SECS-1021-03
Essential Infomation Tech presentation.pptx
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Softaken Excel to vCard Converter Software.pdf
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
wealthsignaloriginal-com-DS-text-... (1).pdf

Lecture 6 - Arrays

  • 1. 1
  • 2.  Arrays  Declaring and constructing arrays  Using and returning arrays  Aliasing 2
  • 3.  ArrayList is used when the size of a collection is not known in advance  But in some situations the maximum collection size can be pre-determined  A special fixed-size collection type is available: the array  Arrays can store object references or primitive values  Arrays use a special syntax 3
  • 4.  An array is an indexed sequence of variables of the same type  The array is called a  Its elements are called a[0], a[1], a[2], etc. ◦ Each element is a separate variable  Notice that (as with ArrayList) indexing starts from 0 a[0] a[1] a[2] a[3] a[4] a 4 a[5]
  • 5.  Arrays are used when we have large numbers of identical objects that we want to operate on as a collection ◦ A collection of student marks that we want to analyse ◦ A collection of temperatures that we want to average ◦ A collection of names that we want to sort  e.g. Bureau of Meteorology data 5 ALBANY Max 25.1 25.1 24.1 21.5 18.7 16.6 15.7 15.9 17.4 18.8 20.8 23.4 Min 13.5 14.3 13.3 11.6 9.8 8.1 7.4 7.4 7.9 9.0 10.6 12.3 Rain 28 25 29 66 102 104 126 104 81 80 46 24 PERTH AIRPORT Max 31.4 31.7 29.5 25.2 21.4 18.7 17.6 18.3 20.0 22.3 25.4 28.5 Min 16.7 17.4 15.7 12.7 10.2 9.0 8.0 7.9 8.8 10.1 12.4 14.6 Rain 8 14 15 46 108 175 164 117 68 48 25 12
  • 6.  An array is declared using similar syntax to any other variable int[] a;  Declares a to be a variable representing an array of ints double[] temps;  Declares temps to be a variable representing an array of doubles String[] names;  Declares names to be a variable representing an array of Strings Student[] marks;  Declares marks to be a variable representing an array of Student objects 6
  • 7.  An array is an object in a Java program  Therefore the declaration simply creates a reference to “point to” the array, but does not create the array itself  Hence the declaration int[] a; creates a space called a, big enough to hold an object reference, and initially set to the special value null a null Only space for the array reference has been created, not for the array itself 7
  • 8.  In order to actually create the array, we must use the keyword new (just like creating any other object) int[] a; a = new int[7]; 0 0 0 0 00 0 a An object is created that contains seven variables of type int 8 The expression a.length can be used to refer to the size of a
  • 9. • The seven variables do not have individual names • They are referred to by the array name, and an index 0 0 0 0 00 0 a 9
  • 10. • Array elements can be used in the same ways and in the same contexts as any other variable of that type a[0] a[1] 0 a[2] 7 a[3] -1 a[5] 0 a[4] 15 a[6] 17 a[4] = 15; a[2] = 7; a[3] = 2*a[2] – a[4]; a[6] = a[0] + 17; 10
  • 11.  A lot of the power of arrays comes from the fact that the index can be a variable or an expression int x = 3; a[x] = 5; a[7-x] = 44; a[0] 0 a[1] 0 a[2] 7 a[3] 5 a[5] 0 a[4] 44 a[6] 17 11
  • 12. private int sum(int[] a) { int sum = 0; for (int i : a) { sum = sum + i; } return sum; } 12 • Here i is an element of the array a
  • 13. private int sum(int[] a) { int sum = 0; for (int i = 0; i < a.length; i++) { sum = sum + a[i]; } return sum; } 13 • Here i is being used as an index into the array a
  • 14. • Note that this is only well-defined for non-empty arrays! • Again i is an element of the array a private int max(int[] a) { int max = a[0]; for (int i : a) { if (i > max) max = i; } return max; } 14
  • 15. private int max(int[] a) { int max = a[0]; for (int i = 1; i < a.length; i++) { if (a[i] > max) max = a[i]; } return max; } 15 • Again i is being used as an index into the array a
  • 16. private int max(int[] a) { int k = 0; for (int i = 1; i < a.length; i++) { if (a[i] > a[k]) k = i; } return k; } 16 • A for-each loop will not work for this example
  • 17.  An array literal is written using {}  Array literals in this form can only be used in declarations  Related uses require new private int[] numbers = {3, 15, 4, 5}; declaration, creation, and initialization numbers = new int[] {3, 15, 4, 5}; 17
  • 18. private int[] sums(int[] a) { int[] sums = new int[a.length]; sums[0] = a[0]; for (int i = 1; i < a.length; i++) { sums[i] = sums[i–1] + a[i]; } return sums; } 18 • Suppose we want to find the running sums of a sums({2,5,–8,3}) = {2,7,–1,2}
  • 19. private int[] avs(int[] a) { int[] avs = new int[a.length / 2]; for (int i = 0; i < a.length; i = i+2) { avs[i / 2] = (a[i] + a[i+1]) / 2; } return avs; } 19 • Suppose we want to average each pair of elements of a avs({2,6,–8,2}) = {4,–3}
  • 20. private void sums(int[] a) { for (int i = 1; i < a.length; i++) { a[i] = a[i–1] + a[i]; } } 20 • Sometimes instead of creating a new array, we want to update the old one • But this method doesn’t return anything…
  • 22. 22 int[] a, b; a = new int[3]; a[0] 0 a[1] 0 a[2] 0 a b
  • 23. 23 int[] a, b; a = new int[3]; b = a; a[0] 0 a[1] 0 a[2] 0 a b
  • 24. 24 int[] a, b; a = new int[3]; b = a; System.out.println(b[2]); a[0] 0 a[1] 0 a[2] 0 a b 0
  • 25. 25 int[] a, b; a = new int[3]; b = a; System.out.println(b[2]); a[2] = 9; a[0] 0 a[1] 0 a[2] 9 a b 0
  • 26. 26 int[] a, b; a = new int[3]; b = a; System.out.println(b[2]); a[2] = 9; System.out.println(b[2]); a[0] 0 a[1] 0 a[2] 9 a b 0 9
  • 27. 27 • This is called aliasing • Basically one array with two names • It applies in the same way with any other object-types too • Be careful with equality over arrays • In some applications we might want to use aliasing deliberately
  • 28.  Arrays were discussed.  Declaration and construction of arrays  Different methods for using and returning arrays discussed.  Aliasing with an example was discussed. 28