Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

dart
communitycreator

What is the DoubleLinkedQueue.contains() method in Dart?

Surabhi Sharma

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

The dart:collection library provides advanced collection support for the Dart language. It also contains the DoubleLinkedQueue<E> class which implements the abstract Queue<E> class, using a doubly-linked list.

The contains() method

The DoubleLinkedQueue<E> class contains the contains() method which checks the presence of an element in the queue.

A queue is a FIFO (First In First Out) data structure. In a queue, the element which is added first will be deleted first.

The contains() method does not change the state of the queue.

The illustration below shows how the contains() method works.

Syntax

The prototype of the contains() method is shown below.

bool contains(
Object? element
)

Arguments

The contains() method takes the object to search in the queue as the argument.

Return values

  • The contains() method returns a Boolean value. It returns true if the input element is present in the queue and false otherwise.
  • The contains() method is a O(n) operation where n is the number of the elements in the queue.

Code

The code below shows how the contains() method can be used in Dart.

import 'dart:collection';
void main() {
var faangCompanies = DoubleLinkedQueue<String>();
faangCompanies.add("Facebook");
faangCompanies.add("Apple");
faangCompanies.add("Amazon");
faangCompanies.add("Netflix");
faangCompanies.add("Google");
print('Printing Queue Elements');
print(faangCompanies);
bool isGooglePresent = faangCompanies.contains("Google");
print('Checking presence of "Google" using contains(): ${isGooglePresent}');
bool isMicrosoftPresent = faangCompanies.contains("Microsoft");
print('Checking presence of "Microsoft" using contains(): ${isMicrosoftPresent}');
}

Explanation

The code above performs the following actions:

  • An instance of the DoubleLinkedQueue class of type String is initialized in line 3.

  • Next, a few strings, "Facebook", "Apple", "Amazon", "Netflix", and "Google", are added to the queue using the add() method.

  • The queue elements are displayed as {Facebook, Apple, Amazon, Netflix, Google}. All the elements are added to the end of the queue, as the queue is a FIFO data structure.

  • The contains() method in line 13 checks for the presence of "Google" in the queue and stores the boolean result in a variable. It is true because "Google" is present in the queue and is printed in the next line.

  • The contains() method in line 16 checks for the presence of "Microsoft" in the queue and stores the boolean result in a variable. It is false because "Microsoft" is not present in the queue and is printed in the next line.

RELATED TAGS

dart
communitycreator

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Keep Exploring