Looking up
values stored inside
an ArrayList object
- The ArrayList class
has many
methods
to look up
information
stored in an
ArrayList object
- We will discuss the following
instance methods for
searching in an
ArrayList:
get(int index):
Returns the element e at the position index in this array list
indexOf(E e):
Returns the index of the first occurrence of element e
in this array list
Returns -1 when not found
lastIndexOf(E e):
Returns the index of the last occurrence of element e
in this array list
Returns -1 when not found
contains(E e):
Returns true if e is in this array list
Returns false otherwise
|
|
get(
index
)
- Syntax of
get(
index ):
- get( index )
returns the
element
stored at the
index
"index" in the
ArrayList object:
|
get(
index
)
- Syntax of
get(
index ):
- Example:
find the element stored at
index 1 in
an ArrayList<String>
object:
public static void main(String[] args)
{
ArrayList<String> myList = new ArrayList<>();
myList.add("john"); // Index 0
myList.add("peter"); // Index 1
myList.add("mary"); // Index 2
myList.add("peter"); // Index 3
System.out.println( myList.get(1) ); // --> peter
System.out.println( myList.get(2) ); // --> mary
}
|
|
DEMO:
demo/11-arrayList/03-find/Get.java
indexOf(
element
)
- Syntax of
indexOf(
element ):
- indexOf( element )
returns the
index
of the
first ocurrence
of the element
element
stored in the
ArrayList object:
|
indexOf(
element
)
- Syntax of
indexOf(
element ):
- Example:
find the index of
the first occurence of
"peter"
public static void main(String[] args)
{
ArrayList<String> myList = new ArrayList<>();
myList.add("john");
myList.add("peter"); // Index 1
myList.add("mary");
myList.add("peter");
System.out.println( myList.indexOf("peter") ); // 1
System.out.println( myList.indexOf("xxxxx") ); // -1
}
|
|
DEMO:
demo/11-arrayList/03-find/IndexOf.java
A phonebook application using
ArrayList
- A phone book is
a relationship between
a set of names and
a set of
phone numbers
Example:
name phone
------------------------
john 123-4567
anne 444-4444
mary 789-1234
peter 777-7777
|
- We can represent a
phone book with
2
ArrayList objects
Example:
ArrayList<String> name = new ArrayList<>(); // Stores the names
ArrayList<String> phone = new ArrayList<>(); // Stores the phone number
|
|
A phonebook application using
ArrayList
- We can use the
add( ) method
to populate the
names and
phones:
public static void main(String[] args)
{
ArrayList<String> name = new ArrayList<>();
ArrayList<String> phone = new ArrayList<>();
name.add("john"); phone.add("123-4567");
name.add("anne"); phone.add("444-4444");
name.add("mary"); phone.add("789-1234");
name.add("peter"); phone.add("777-7777");
}
|
|
A phonebook application using
ArrayList
- We first
read in the
name from the
keyboard:
public static void main(String[] args)
{
ArrayList<String> name = new ArrayList<>();
ArrayList<String> phone = new ArrayList<>();
name.add("john"); phone.add("123-4567");
name.add("anne"); phone.add("444-4444");
name.add("mary"); phone.add("789-1234");
name.add("peter"); phone.add("777-7777");
Scanner in = new Scanner(System.in);
System.out.print("\nEnter name: ");
String s = in.nextLine();
}
|
|
A phonebook application using
ArrayList
- Then lookup the
input (s) in the
names
array list:
public static void main(String[] args)
{
ArrayList<String> name = new ArrayList<>();
ArrayList<String> phone = new ArrayList<>();
name.add("john"); phone.add("123-4567");
name.add("anne"); phone.add("444-4444");
name.add("mary"); phone.add("789-1234");
name.add("peter"); phone.add("777-7777");
Scanner in = new Scanner(System.in);
System.out.print("\nEnter name: ");
String s = in.nextLine();
int i = name.indexOf(s); // Find s in name
}
|
|
A phonebook application using
ArrayList
- Print
not found if
return value is
−1 and
otherwise print the
name and
phone in the
entry
i:
public static void main(String[] args)
{
ArrayList<String> name = new ArrayList<>();
ArrayList<String> phone = new ArrayList<>();
name.add("john"); phone.add("123-4567");
name.add("anne"); phone.add("444-4444");
name.add("mary"); phone.add("789-1234");
name.add("peter"); phone.add("777-7777");
Scanner in = new Scanner(System.in);
System.out.print("\nEnter name: ");
String s = in.nextLine();
int i = name.indexOf(s); // Find s in name
if ( i == -1 )
System.out.println(s + " is not in phonebook");
else
System.out.println(name.get(i) + ": " + phone.get(i));
}
|
|
DEMO:
demo/11-arrayList/03-find/PhoneBook.java
lastIndexOf(
element
)
- Syntax of
lastIndexOf(
element ):
myList.lastIndexOf(element);
|
- lastIndexOf( element )
returns the
index
of the
last ocurrence
of the element
element
stored in the
ArrayList object:
|
lastIndexOf(
element
)
- Syntax of
lastIndexOf(
element ):
myList.lastIndexOf(element);
|
- Example:
find the index of
the
last occurence of
"peter"
public static void main(String[] args)
{
ArrayList<String> myList = new ArrayList<>();
myList.add("john");
myList.add("peter");
myList.add("mary");
myList.add("peter"); // Index 3
System.out.println( myList.lastIndexOf("peter") ); // 3
System.out.println( myList.lastIndexOf("xxxxx") ); // -1
}
|
|
DEMO:
demo/11-arrayList/03-find/LastIndexOf.java
contains(
element
)
- Syntax of
contains(
element ):
myList.contains(element);
|
- contains(
element )
returns
true
if the
element
element is
found in the
ArrayList object
otherwise,
contains(
element )
returns
false
|
contains(
element
)
- Syntax of
contains(
element ):
myList.contains(element);
|
- Example:
check if "peter" is
stored in an
ArrayList object
public static void main(String[] args)
{
ArrayList<String> myList = new ArrayList<>();
myList.add("john");
myList.add("peter");
myList.add("mary");
myList.add("peter");
System.out.println( myList.contains("peter") ); // true
System.out.println( myList.contains("xxxxx") ); // false
}
|
|
DEMO:
demo/11-arrayList/03-find/Contains.java
❮
❯