How do you check a list contains an item in Java?

JavaObject Oriented ProgrammingProgramming

Elements can be checked from a list using indexOf() or contains() methods.

Syntax - indexOf() method

int indexOf(Object o)

Returns the index of the first occurrence of the specified element in this list, or -1 if this list does not contain the element. More formally, returns the lowest index i such that (o==null ? get(i)==null : o.equals(get(i))), or -1 if there is no such index.

Parameters

  • o − Element to search for.

Returns

The index of the first occurrence of the specified element in this list, or -1 if this list does not contain the element.

Throws

  • ClassCastException − If the type of the specified element is incompatible with this list (optional).

  • NullPointerException − If the specified element is null and this list does not permit null elements (optional).

Syntax - contains() method

boolean contains(Object o)

Returns true if this list contains the specified element. More formally, returns true if and only if this list contains at least one element e such that (o==null ? e==null : o.equals(e)).

Parameters

  • o − Element whose presence in this list is to be tested.

Returns

True if this list contains the specified element.

Throws

  • ClassCastException − If the type of the specified element is incompatible with this list (optional).

  • NullPointerException − If the specified element is null and this list does not permit null elements (optional).

Example

Following is the example of finding elements from a list using various methods −

package com.tutorialspoint;

import java.util.ArrayList;
import java.util.List;

public class CollectionsDemo {
   public static void main(String[] args) {
      List<Student> list = new ArrayList<>();
      list.add(new Student(1, "Zara"));
      list.add(new Student(2, "Mahnaz"));
      list.add(new Student(3, "Ayan"));
      System.out.println("List: " + list);
      Student student = new Student(3, "Ayan");
      System.out.println("Ayan is present: " + list.contains(student));
      int index = list.indexOf(student);
      System.out.println("Ayan is present at: " + index);
   }
}
class Student {
   private int id;
   private String name;
   public Student(int id, String name) {
      this.id = id;
      this.name = name;
   }
   public int getId() {
      return id;
   }
   public void setId(int id) {
      this.id = id;
   }
   public String getName() {
      return name;
   }
   public void setName(String name) {
      this.name = name;
   }
   @Override
   public boolean equals(Object obj) {
      if(!(obj instanceof Student)) {
         return false;
      }
      Student student = (Student)obj;
      return this.id == student.getId() && this.name.equals(student.getName());
   }
   @Override
   public String toString() {
      return "[" + this.id + "," + this.name + "]";
   }
}

Output

This will produce the following result −

List: [[1,Zara], [2,Mahnaz], [3,Ayan]]
Ayan is present: true
Ayan is present at: 2
raja
Updated on 10-May-2022 07:30:39

Advertisements