Can ArrayList store objects Java?

The ArrayList class is a resizable array, which can be found in the java.util package.

The difference between a built-in array and an ArrayList in Java, is that the size of an array cannot be modified [if you want to add or remove elements to/from an array, you have to create a new one]. While elements can be added and removed from an ArrayList whenever you want. The syntax is also slightly different:

Create an ArrayList object called cars that will store strings:

import java.util.ArrayList; // import the ArrayList class ArrayList cars = new ArrayList[]; // Create an ArrayList object

If you don't know what a package is, read our Java Packages Tutorial.

Add Items

The ArrayList class has many useful methods. For example, to add elements to the ArrayList, use the add[] method:

import java.util.ArrayList; public class Main {   public static void main[String[] args] {     ArrayList cars = new ArrayList[];     cars.add["Volvo"];     cars.add["BMW"];     cars.add["Ford"];     cars.add["Mazda"];     System.out.println[cars];   } }

Try it Yourself »

Access an Item

To access an element in the ArrayList, use the get[] method and refer to the index number:

cars.get[0];

Try it Yourself »

Remember: Array indexes start with 0: [0] is the first element. [1] is the second element, etc.

Change an Item

To modify an element, use the set[] method and refer to the index number:

cars.set[0, "Opel"];

Try it Yourself »

Remove an Item

To remove an element, use the remove[] method and refer to the index number:

cars.remove[0];

Try it Yourself »

To remove all the elements in the ArrayList, use the clear[] method:

cars.clear[];

Try it Yourself »

ArrayList Size

To find out how many elements an ArrayList have, use the size method:

cars.size[];

Try it Yourself »

Loop Through an ArrayList

Loop through the elements of an ArrayList with a for loop, and use the size[] method to specify how many times the loop should run:

public class Main {   public static void main[String[] args] {     ArrayList cars = new ArrayList[];     cars.add["Volvo"];     cars.add["BMW"];     cars.add["Ford"];     cars.add["Mazda"];     for [int i = 0; i < cars.size[]; i++] {       System.out.println[cars.get[i]];     }   } }

Try it Yourself »

You can also loop through an ArrayList with the for-each loop:

public class Main {   public static void main[String[] args] {     ArrayList cars = new ArrayList[];     cars.add["Volvo"];     cars.add["BMW"];     cars.add["Ford"];     cars.add["Mazda"];     for [String i : cars] {       System.out.println[i];     }   } }

Try it Yourself »

Other Types

Elements in an ArrayList are actually objects. In the examples above, we created elements [objects] of type "String". Remember that a String in Java is an object [not a primitive type]. To use other types, such as int, you must specify an equivalent wrapper class: Integer. For other primitive types, use: Boolean for boolean, Character for char, Double for double, etc:

Create an ArrayList to store numbers [add elements of type Integer]:

import java.util.ArrayList; public class Main {   public static void main[String[] args] {     ArrayList myNumbers = new ArrayList[];     myNumbers.add[10];     myNumbers.add[15];     myNumbers.add[20];     myNumbers.add[25];     for [int i : myNumbers] {       System.out.println[i];     }   } }

Try it Yourself »

Sort an ArrayList

Another useful class in the java.util package is the Collections class, which include the sort[] method for sorting lists alphabetically or numerically:

Sort an ArrayList of Strings:

import java.util.ArrayList; import java.util.Collections;  // Import the Collections class public class Main {   public static void main[String[] args] {     ArrayList cars = new ArrayList[];     cars.add["Volvo"];     cars.add["BMW"];     cars.add["Ford"];     cars.add["Mazda"];     Collections.sort[cars];  // Sort cars     for [String i : cars] {       System.out.println[i];     }   } }

Try it Yourself »

Sort an ArrayList of Integers:

import java.util.ArrayList; import java.util.Collections;  // Import the Collections class public class Main {   public static void main[String[] args] {     ArrayList myNumbers = new ArrayList[];     myNumbers.add[33];     myNumbers.add[15];     myNumbers.add[20];     myNumbers.add[34];     myNumbers.add[8];     myNumbers.add[12];     Collections.sort[myNumbers];  // Sort myNumbers     for [int i : myNumbers] {       System.out.println[i];     }   } }

Try it Yourself »



The Java collection classes, including ArrayList, have one major constraint: they can only store pointers to objects, not primitives. So an ArrayList can store pointers to String objects or Color objects, but an ArrayList cannot store a collection of primitives like int or double.


Click to see full answer

Just so, which two Cannot be stored in an ArrayList?

ArrayList. The ArrayList class implements a growable array of objects. ArrayLists cannot hold primitive data types such as int, double, char, and long [they can hold String since String is an object, and wrapper class objects [Double, Integer].

Also Know, how do you add an object to an ArrayList? Java ArrayList class can contain duplicate elements.

Methods of Java ArrayList.

Method Description
void add[int index, E element] It is used to insert the specified element at the specified position in a list.
boolean add[E e] It is used to append the specified element at the end of a list.

Likewise, people ask, how many objects can an ArrayList hold?

An ArrayList can easily hold 11 million String references, provided there's sufficient heap space available hold all those String objects.

How does ArrayList store data?

ArrayList uses an Array of Object to store the data internally. When you initialize an ArrayList, an array of size 10 [default capacity] is created and an element added to the ArrayList is actually added to this array. 10 is the default size and it can be passed as a parameter while initializing the ArrayList.

In Java, ArrayList is a resizable array and can also be defined as an ordered sequence of elements. Unlike simple arrays, the Java ArrayList is more flexible and can hold multiple data types. This article will demonstrate how you can utilize this function.

Add Objects of the Same Type in an ArrayList

Here, we will add user-defined or custom class objects to an ArrayList. In ArrayList, we can access the elements using the integer index. We’ll specify or declare the type of object we will store in the ArrayList inside the [angle brackets].

In the code below, we have a Book class object with a constructor and three instance variables bookName, author, and rating of data type, respectively. We create a Book class object using the new keyword followed by the constructor call with the parameters; this assigns the passed value to the instance variables.

The add[] method inserts objects into the arrayofBooks. Thus, we added 4 Book class objects to our arrayOfBooks. We then run a foreach loop to iterate and display all the Book data.

We can access the attributes of the Book class by using the . dot operator. Below we accessed the bookName attribute by calling the book.bookName function.

import java.util.ArrayList; public class ArrayObject { public static void main [String args[]]{ ArrayList arrayOfBooks = new ArrayList[]; arrayOfBooks.add[new Book["To Kill a Mockingbird", "Harper Lee", 3]]; arrayOfBooks.add[new Book["1984", "George Orwell", 4]]; arrayOfBooks.add[new Book["Harry Potter and the Philosopher’s Stone", "J.K. Rowling", 4]]; arrayOfBooks.add[new Book["The Lord of the Rings", "J.R.R. Tolkien", 4.5]]; for [Book book: arrayOfBooks] { System.out.println["BookTitle: "+book.bookName+", by"+book.author+ "with a rating of "+book.rating]; } } } class Book{ String bookName; String author; double rating; Book[String bookName, String author, double rating]{ this.bookName = bookName; this.author = author; this.rating = rating; } }

Output:

BookTitle: To Kill a Mockingbird, byHarper Leewith a rating of 3.0 BookTitle: 1984, byGeorge Orwellwith a rating of 4.0 BookTitle: Harry Potter and the Philosopher’s Stone, byJ.K. Rowlingwith a rating of 4.0 BookTitle: The Lord of the Rings, byJ.R.R. Tolkienwith a rating of 4.5

Add Objects of Different Types in an ArrayList

As mentioned, the function ArrayList can also hold multiple types of objects. Here, arrayOfDifferentObject is an ArrayList that can hold objects of different types. We declared our ArrayList using the class in the syntax given below in code.

In Java, ArrayList can hold objects of wrapper classes like double, integer, and string.

We then add elements to the ArrayList using the add[] method. Firstly, we added a string value to our ArrayList, then a double value, integer, and float, respectively. We can also replace an element with a new value at the index of our choice using the set[] method.

We replaced the arrayOfDifferentObject.set[1,"David Wells"] and the double value at index 1 with a string value. After that, we can see that the output is modified.

import java.util.ArrayList; public class ArrayObject { public static void main [String args[]]{ ArrayList arrayOfDifferentObject = new ArrayList[]; arrayOfDifferentObject.add["John Doe"]; arrayOfDifferentObject.add[10.00D]; arrayOfDifferentObject.add[10]; arrayOfDifferentObject.add[10.11F]; System.out.println["ArrayList after all insertion:-"]; for [int i=0; i

Chủ Đề