前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ArrayDeque in Java[通俗易懂]

ArrayDeque in Java[通俗易懂]

作者头像
全栈程序员站长
发布于 2022-11-08 02:40:24
发布于 2022-11-08 02:40:24
53300
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

ArrayDeque in Java

ArrayDeque in Java provides a way to apply resizable-array in addition to the implementation of the Deque interface. It is also known as Array Double Ended Queue or Array Deck. This is a special kind of array that grows and allows users to add or remove an element from both the sides of the queue. Few important features of ArrayDeque are as follows:

  • Array deques have no capacity restrictions and they grow as necessary to support usage.
  • They are not thread-safe which means that in the absence of external synchronization, ArrayDeque does not support concurrent access by multiple threads.
  • Null elements are prohibited in the ArrayDeque.
  • ArrayDeque class is likely to be faster than Stack when used as a stack.
  • ArrayDeque class is likely to be faster than LinkedList when used as a queue.

Declaration:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class ArrayDeque Element
   extends AbstractCollection
   implements DequeElement, Cloneable, Serializable

Here, Element refers to the element which can refer to any class, such as Integer or Stringclass.

Constructors in ArrayDeque:

  1. ArrayDeque(): Used to create an empty ArrayDeque and by default holds an initial capacity to hold 16 elements.
  2. ArrayDeque(Collection c): Used to create an ArrayDeque containing all the elements same as that of the specified collection.
  3. ArrayDeque(int numofElements): Used to create an empty ArrayDeque wand holds the capacity to contain a specified number of elements.

Example:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// Java program to demonstrate few functions of 
// ArrayDeque in Java 

import java.util.*; 
public class ArrayDequeDemo 
{ 
	public static void main(String[] args) 
	{ 
		// Intializing an deque 
		Deque<Integer> de_que = new ArrayDeque<Integer>(10); 

		// add() method to insert 
		de_que.add(10); 
		de_que.add(20); 
		de_que.add(30); 
		de_que.add(40); 
		de_que.add(50); 
		for (Integer element : de_que) 
		{ 
			System.out.println("Element : " + element); 
		} 

		System.out.println("Using clear() "); 

		// clear() method 
		de_que.clear(); 

		// addFirst() method to insert at start 
		de_que.addFirst(564); 
		de_que.addFirst(291); 

		// addLast() method to insert at end 
		de_que.addLast(24); 
		de_que.addLast(14); 

		System.out.println("Above elements are removed now"); 

		// Iterator() : 
		System.out.println("Elements of deque using Iterator :"); 
		for(Iterator itr = de_que.iterator(); itr.hasNext();) 
		{ 
			System.out.println(itr.next()); 
		} 

		// descendingIterator() : to reverse the deque order 
		System.out.println("Elements of deque in reverse order :"); 
		for(Iterator dItr = de_que.descendingIterator(); 
											dItr.hasNext();) 
		{ 
			System.out.println(dItr.next()); 
		} 

		// element() method : to get Head element 
		System.out.println("\nHead Element using element(): " + 
											de_que.element()); 

		// getFirst() method : to get Head element 
		System.out.println("Head Element using getFirst(): " + 
											de_que.getFirst()); 

		// getLast() method : to get last element 
		System.out.println("Last Element using getLast(): " + 
												de_que.getLast()); 

		// toArray() method : 
		Object[] arr = de_que.toArray(); 
		System.out.println("\nArray Size : " + arr.length); 

		System.out.print("Array elements : "); 
		for(int i=0; i<arr.length ; i++) 
			System.out.print(" " + arr[i]); 
			
		// peek() method : to get head 
		System.out.println("\nHead element : " + de_que.peek()); 
		
		// poll() method : to get head 
		System.out.println("Head element poll : " + de_que.poll()); 
		
		// push() method : 
		de_que.push(265); 
		de_que.push(984); 
		de_que.push(2365); 
		
		// remove() method : to get head 
		System.out.println("Head element remove : " + de_que.remove()); 
		
		System.out.println("The final array is: "+de_que); 
	} 
} 

Output:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Element : 10
Element : 20
Element : 30
Element : 40
Element : 50
Using clear() 
Above elements are removed now
Elements of deque using Iterator :
291
564
24
14
Elements of deque in reverse order :
14
24
564
291

Head Element using element(): 291
Head Element using getFirst(): 291
Last Element using getLast(): 14

Array Size : 4
Array elements :  291 564 24 14
Head element : 291
Head element poll : 291
Head element remove : 2365
The final array is: [984, 265, 564, 24, 14]

Methods in ArrayDeque:

  1. add(Element e) : The method inserts particular element at the end of the deque.
  2. addFirst(Element e) : The method inserts particular element at the start of the deque.
  3. addLast(Element e) : The method inserts particular element at the end of the deque. It is similiar to add() method
  4. clear() : The method removes all deque elements.
  5. size() : The method returns the no. of elements in deque.
  6. clone() : The method copies the deque.
  7. contains(Obj) : The method checks whether a deque contains the element or not
  8. Iterator() : The method returns an iterator over the deque.
  9. descendingIterator() : The method returns a reverse order iterator over the deque
  10. element() : The method returns element at the head of the deque
  11. getFirst(): The method returns first element of the deque
  12. getLast(): The method returns last element of the deque
  13. isEmpty(): The method checks whether the deque is empty or not.
  14. toArray(): The method returns array having the elements of deque.
  15. offer(Element e) : The method inserts element at the end of deque.
  16. offerFirst(Element e) : The method inserts element at the front of deque.
  17. offerLast(Element e) : The method inserts element at the end of deque.
  18. peek() : The method returns head element without removing it.
  19. peekFirst() : The method returns first element without removing it.
  20. peekLast() : The method returns last element without removing it.
  21. poll() : The method returns head element and also removes it
  22. pollFirst() : The method returns first element and also removes it
  23. pollLast() : The method returns last element and also removes it
  24. pop() : The method pops out an element for stack repesented by deque
  25. push(Element e) : The method pushes an element onto stack repesented by deque
  26. remove() : The method returns head element and also removes it
  27. removeFirst() : The method returns first element and also removes it
  28. removeLast() : The method returns last element and also removes it
  29. removeFirstOccurrence(Obj) : The method removes the element where it first occur in the deque.
  30. removeLastOccurrence(Obj) : The method removes the element where it last occur in the deque.

ArrayDeque addFirst() Method in Java

The java.util.ArrayDeque.addFirst(Object element) method in Java is used to insert a specific element at the front of this deque.

Syntax:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Array_Deque.addFirst(Object element)

Parameters: The parameter element is of the type ArrayDeque and refers to the element to be added.

Return Value: The function does not return any value.

Exceptions: The method throws NullPointerException if the passed parameter is NULL.

Below programs illustrate the Java.util.ArrayDeque.addFirst() method: Program 1:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// Java code to illustrate addFirst() 
import java.util.*; 

public class ArrayDequeDemo { 
	public static void main(String args[]) 
	{ 
		// Creating an empty ArrayDeque 
		Deque<Integer> de_que = new ArrayDeque<Integer>(); 

		// Use add() method to add elements into the Deque 
		de_que.add(10); 
		de_que.add(15); 
		de_que.add(30); 
		de_que.add(20); 
		de_que.add(5); 

		// Displaying the ArrayDeque 
		System.out.println("ArrayDeque: " + de_que); 

		// Adding elements at front 
		de_que.addFirst(40); 
		de_que.addFirst(50); 
		de_que.addFirst(60); 
		de_que.addFirst(70); 

		// Displaying the ArrayDeque 
		System.out.println("ArrayDeque_front_addition: " + de_que); 

		// Adding elements using add() 
		de_que.add(1); 
		de_que.add(2); 
		de_que.add(3); 

		// Displaying the final ArrayDeque 
		System.out.println("Final ArrayDeque: " + de_que); 
	} 
} 

Output:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ArrayDeque: [10, 15, 30, 20, 5]
ArrayDeque_front_addition: [70, 60, 50, 40, 10, 15, 30, 20, 5]
Final ArrayDeque: [70, 60, 50, 40, 10, 15, 30, 20, 5, 1, 2, 3]

ArrayDeque add() Method in Java

The Java.util.ArrayDeque.add(Object element) method in Java is used to add a specific element at the end of the Deque. The function is similar to the addLast() method of ArrayDeque in Java.

Syntax:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Array_Deque.add(Object element)

Parameters: The parameter element is of the type ArrayDeque and refers to the element to be added to the Deque.

Return Value: The function returns True if the element is successfully added into the deque else it returns false.

Exceptions: The method throws NullPointerException if the passed parameter is NULL.

Below programs illustrate the Java.util.ArrayDeque.add() method: Program 1: Adding String elements into the Deque.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// Java code to illustrate add() 
import java.util.*; 

public class ArrayDequeDemo { 
	public static void main(String args[]) 
	{ 
		// Creating an empty ArrayDeque 
		Deque<String> de_que = new ArrayDeque<String>(); 

		// Use add() method to add elements into the Deque 
		de_que.add("Welcome"); 
		de_que.add("To"); 
		de_que.add("Geeks"); 
		de_que.add("4"); 
		de_que.add("Geeks"); 

		// Displaying the ArrayDeque 
		System.out.println("ArrayDeque: " + de_que); 
	} 
} 

Output:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ArrayDeque: [Welcome, To, Geeks, 4, Geeks]

Program 2: Adding Integer elements into the Deque.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// Java code to illustrate add() 
import java.util.*; 

public class ArrayDequeDemo { 
	public static void main(String args[]) 
	{ 
		// Creating an empty ArrayDeque 
		Deque<Integer> de_que = new ArrayDeque<Integer>(); 

		// Use add() method to add elements into the Deque 
		de_que.add(10); 
		de_que.add(15); 
		de_que.add(30); 
		de_que.add(20); 
		de_que.add(5); 

		// Displaying the ArrayDeque 
		System.out.println("ArrayDeque: " + de_que); 
	} 
} 

Output:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ArrayDeque: [10, 15, 30, 20, 5]

ArrayDeque addLast() Method in Java

The java.util.ArrayDeque.addLast(Object element) method in Java is used to insert a specific element at the end of this deque. It is similar to the add() method in Java.

Syntax:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Array_Deque.addLast(Object element)

Parameters: The parameter element is of the type ArrayDeque and refers to the element to be added.

Return Value: The function does not return any value.

Exceptions: The method throws NullPointerException if the passed parameter is NULL.

Below programs illustrate the Java.util.ArrayDeque.addLast() method: Program 1: Adding Integers to the Deque.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// Java code to illustrate addLast() 
import java.util.*; 

public class ArrayDequeDemo { 
	public static void main(String args[]) 
	{ 
		// Creating an empty ArrayDeque 
		Deque<Integer> de_que = new ArrayDeque<Integer>(); 

		// Use add() method to add elements into the Deque 
		de_que.add(10); 
		de_que.add(15); 
		de_que.add(30); 
		de_que.add(20); 
		de_que.add(5); 

		// Displaying the ArrayDeque 
		System.out.println("ArrayDeque: " + de_que); 

		// Adding elements at the end 
		de_que.addLast(40); 
		de_que.addLast(50); 
		de_que.addLast(60); 
		de_que.addLast(70); 

		// Displaying the ArrayDeque 
		System.out.println("ArrayDeque_end_addition: " + de_que); 
	} 
} 

Output:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ArrayDeque: [10, 15, 30, 20, 5]
ArrayDeque_end_addition: [10, 15, 30, 20, 5, 40, 50, 60, 70]

ArrayDeque getFirst() Method in Java

The java.util.ArrayDeque.getFirst() method in Java is used to retrieve or fetch the first element of the ArrayDeque. In the process, the method does not delete the element from the deque instead it just returns the first element of the deque.

Syntax:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Array_Deque.getFirst()

Parameters: The method does not take any parameter.

Return Value: The method returns the first element present in the Deque.

Below programs illustrate the Java.util.ArrayDeque.getFirst() method:

Program 1:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// Java code to illustrate getFirst() 
import java.util.*; 

public class ArrayDequeDemo { 
	public static void main(String args[]) 
	{ 
		// Creating an empty ArrayDeque 
		ArrayDeque<String> de_que = new ArrayDeque<String>(); 

		// Use add() method to add elements into the Deque 
		de_que.add("Welcome"); 
		de_que.add("To"); 
		de_que.add("Geeks"); 
		de_que.add("4"); 
		de_que.add("Geeks"); 

		// Displaying the ArrayDeque 
		System.out.println("ArrayDeque: " + de_que); 

		// Displaying the first element 
		System.out.println("The first element is: " + 
									de_que.getFirst()); 
	} 
} 

Output:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ArrayDeque: [Welcome, To, Geeks, 4, Geeks]
The first element is: Welcome

ArrayDeque isEmpty() Method in Java

The Java.util.ArrayDeque.isEmpty() method in Java is used to check and verify if an ArrayDeque is empty or not. It returns True if the Deque is empty else it returns False.

Syntax:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Array_Deque.isEmpty()

Parameters: The method does not take any parameter.

Return Value: The function returns True if the deque is empty else it returns False.

Below programs illustrate the Java.util.ArrayDeque.isEmpty() method:

Program 1:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// Java code to illustrate isEmpty() 
import java.util.*; 

public class ArrayDequeDemo { 
	public static void main(String args[]) 
	{ 
		// Creating an empty ArrayDeque 
		Deque<String> de_que = new ArrayDeque<String>(); 

		// Use add() method to add elements into the Deque 
		de_que.add("Welcome"); 
		de_que.add("To"); 
		de_que.add("Geeks"); 
		de_que.add("4"); 
		de_que.add("Geeks"); 

		// Displaying the ArrayDeque 
		System.out.println("ArrayDeque: " + de_que); 

		// Verifying if the Deque is empty or not 
		System.out.println("The Deque is empty? " + 
									de_que.isEmpty()); 

		// Clearing the deque 
		de_que.clear(); 

		// Verifying if the Deque is empty or not 
		System.out.println("The Deque is empty? " + 
									de_que.isEmpty()); 
	} 
} 

Output:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ArrayDeque: [Welcome, To, Geeks, 4, Geeks]
The Deque is empty? false
The Deque is empty? true

ArrayDeque clear() Method in Java

The Java.util.ArrayDeque.clear() method in Java is used to remove all of the elements from the Deque. Using the clear() method only clears all the element from the deque and does not delete the deque. In other words, it can be said that the clear() method is used to only empty an existing ArrayDeque.

Syntax:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Array_Deque.clear()

Parameters: The method does not take any parameter.

Return Value: The function does not return any value.

Below programs illustrate the Java.util.ArrayDeque.clear() method: Program 1:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// Java code to illustrate clear() 
import java.util.*; 

public class ArrayDequeDemo { 
	public static void main(String args[]) 
	{ 
		// Creating an empty ArrayDeque 
		Deque<String> de_que = new ArrayDeque<String>(); 

		// Use add() method to add elements into the Deque 
		de_que.add("Welcome"); 
		de_que.add("To"); 
		de_que.add("Geeks"); 
		de_que.add("4"); 
		de_que.add("Geeks"); 

		// Displaying the ArrayDeque 
		System.out.println("ArrayDeque: " + de_que); 

		// Clearing the Deque 
		de_que.clear(); 

		// Displaying the Deque 
		System.out.println("ArrayDeque: " + de_que); 
	} 
} 

Output:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ArrayDeque: [Welcome, To, Geeks, 4, Geeks]
ArrayDeque: []

ArrayDeque size() Method in Java

The Java.util.ArrayDeque.size() method in Java is used to get the size of the Deque or the number of elements present in the Deque.

Syntax:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Array_Deque.size()

Parameters: The method does not take any parameter.

Return Value: The method returns the size or the number of elements present in the Deque.

Below programs illustrate the Java.util.ArrayDeque.size() method: Program 1: Adding String elements into the Deque.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// Java code to illustrate size() 
import java.util.*; 

public class ArrayDequeDemo { 
	public static void main(String args[]) 
	{ 
		// Creating an empty ArrayDeque 
		Deque<String> de_que = new ArrayDeque<String>(); 

		// Use add() method to add elements into the Deque 
		de_que.add("Welcome"); 
		de_que.add("To"); 
		de_que.add("Geeks"); 
		de_que.add("4"); 
		de_que.add("Geeks"); 

		// Displaying the ArrayDeque 
		System.out.println("ArrayDeque: " + de_que); 

		// Displaying the size of Deque 
		System.out.println("The size is: " + de_que.size()); 
	} 
} 

Output:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ArrayDeque: [Welcome, To, Geeks, 4, Geeks]
The size is: 5

ArrayDeque contains() Method in Java

The Java.util.ArrayDeque.contains() method in Java is used to check or verify whether a specific element is present in the Deque or not.

Syntax:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Array_Deque.contains(Object element)

Parameters: The parameter element is of the type of ArrayDeque. This is the element that needs to be tested if it is present in the deque or not.

Return Value: The method returns True if the element is present in the deque otherwise it returns False.

Below programs illustrate the Java.util.ArrayDeque.contains() method: Program 1:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// Java code to illustrate contains() 
import java.util.*; 

public class ArrayDequeDemo { 
	public static void main(String args[]) 
	{ 
		// Creating an empty ArrayDeque 
		Deque<String> de_que = new ArrayDeque<String>(); 

		// Use add() method to add elements into the Queue 
		de_que.add("Welcome"); 
		de_que.add("To"); 
		de_que.add("Geeks"); 
		de_que.add("4"); 
		de_que.add("Geeks"); 

		// Displaying the ArrayDeque 
		System.out.println("ArrayDeque: " + de_que); 

		// Check for "Geeks" in the deque 
		System.out.println("Does the deque contains 'Geeks'? "
						+ de_que.contains("Geeks")); 

		// Check for "4" in the deque 
		System.out.println("Does the deque contains '4'? "
						+ de_que.contains("4")); 

		// Check if the deque contains "No" 
		System.out.println("Does the deque contains 'No'? "
						+ de_que.contains("No")); 
	} 
} 

Output:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ArrayDeque: [Welcome, To, Geeks, 4, Geeks]
Does the deque contains 'Geeks'? true
Does the deque contains '4'? true
Does the deque contains 'No'? false

ArrayDeque iterator() Method in Java

The Java.util.ArrayDeque.iterator() method is used to return an iterator of the elements of the ArrayDeque.

Syntax:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Iterator iterate_value = Array_Deque.iterator();

Parameters: The method does not take any parameter.

Return Value: The method iterates over the elements of the deque and returns the values(iterator).

Below programs illustrate the Java.util.ArrayDeque.iterator() method: Program 1:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// Java code to illustrate iterator() 
import java.util.*; 

public class ArrayDequeDemo { 
	public static void main(String args[]) 
	{ 
		// Creating an empty ArrayDeque 
		Deque<String> de_que = new ArrayDeque<String>(); 

		// Use add() method to add elements into the Queue 
		de_que.add("Welcome"); 
		de_que.add("To"); 
		de_que.add("Geeks"); 
		de_que.add("4"); 
		de_que.add("Geeks"); 

		// Displaying the ArrayDeque 
		System.out.println("ArrayDeque: " + de_que); 

		// Creating an iterator 
		Iterator value = de_que.iterator(); 

		// Displaying the values after iterating through the Deque 
		System.out.println("The iterator values are: "); 
		while (value.hasNext()) { 
			System.out.println(value.next()); 
		} 
	} 
} 

Output:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ArrayDeque: [Welcome, To, Geeks, 4, Geeks]
The iterator values are: 
Welcome
To
Geeks
4
Geeks

ArrayDeque getLast() Method in Java

The java.util.ArrayDeque.getLast() method in Java is used to retrieve or fetch the last element of the ArrayDeque. In the process, the method does not delete the element from the deque instead it just returns the last element of the deque.

Syntax:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Array_Deque.getLast()

Parameters: The method does not take any parameter.

Return Value: The method returns the last element present in the Deque.

Below programs illustrate the Java.util.ArrayDeque.getLast() method:

Program 1:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// Java code to illustrate getLast() method of ArrayDeque 
import java.util.*; 

public class ArrayDequeDemo { 
	public static void main(String args[]) 
	{ 
		// Creating an empty ArrayDeque 
		ArrayDeque<String> de_que = new ArrayDeque<String>(); 

		// Use add() method to add elements into the Deque 
		de_que.add("Welcome"); 
		de_que.add("To"); 
		de_que.add("Geeks"); 
		de_que.add("4"); 
		de_que.add("Geeks"); 

		// Displaying the ArrayDeque 
		System.out.println("ArrayDeque: " + de_que); 

		// Displaying the Last element 
		System.out.println("The last element is: " + de_que.getLast()); 
	} 
} 

Output:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ArrayDeque: [Welcome, To, Geeks, 4, Geeks]
The last element is: Geeks

ArrayDeque element() Method in Java

The java.util.ArrayDeque.element() method in Java is used to retrieve or fetch the head of the ArrayDeque. In the process, the method does not delete the element from the deque instead it just returns the element.

Syntax:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Array_Deque.element()

Parameters: The method does not take any parameter.

Return Value: The method returns the element present at the head of the Deque.

Below programs illustrate the Java.util.ArrayDeque.element() method: Program 1:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// Java code to illustrate ArrayDeque element() method 
import java.util.*; 

public class ArrayDequeDemo { 
	public static void main(String args[]) 
	{ 
		// Creating an empty ArrayDeque 
		ArrayDeque<String> de_que = new ArrayDeque<String>(); 

		// Use add() method to add elements into the Deque 
		de_que.add("Welcome"); 
		de_que.add("To"); 
		de_que.add("Geeks"); 
		de_que.add("4"); 
		de_que.add("Geeks"); 

		// Displaying the ArrayDeque 
		System.out.println("ArrayDeque: " + de_que); 

		// Displaying the head 
		System.out.println("The head element is: " + de_que.element()); 
	} 
} 

Output:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ArrayDeque: [Welcome, To, Geeks, 4, Geeks]
The head element is: Welcome

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/191300.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月20日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
Java基础入门(四十六)
LinkedList类是集合新增元素和删除元素效率比较好,该集合的里面维护一个双向循环的链表,链表中它的每一个元素可以引用方式记下前一个元素和后一个元素,把所有的元素连接起来就可以了。
Java进阶者
2021/07/23
2590
Java之List
简介:本文通过算法比赛和工程的视角,为大家用最简短的篇幅讲解Java中List系列的用法,包括ArrayList,LinkedList。
GeekLiHua
2025/01/21
690
Java之List
【Java入门提高篇】Day32 Java容器类详解(十四)ArrayDeque详解
  今天来介绍一个不太常见也不太常用的类——ArrayDeque,这是一个很不错的容器类,如果对它还不了解的话,那么就好好看看这篇文章吧。
弗兰克的猫
2018/09/07
6810
【Java入门提高篇】Day32 Java容器类详解(十四)ArrayDeque详解
LinkedList的实现原理浅析
查看LinkedList的源码,发现其继承自AbstractSequentialList,实现了List,Deque,Cloneable以及Serializable接口,如:
孟君
2020/04/22
4600
arrayqueue源码_thinkphp源码分析
(1)双端队列,可从两端添加、删除元素。作为队列使用时,性能优于LinkedList。作为栈使用时,性能优于Stack。
全栈程序员站长
2022/11/05
1.4K0
arrayqueue源码_thinkphp源码分析
Java Review - Queue和Stack 源码解读
Java中有Stack类,却没有叫做Queue的类,它是个接口的名字。当需要使用栈时,Java已不推荐使用Stack,而是推荐使用更高效的ArrayDeque;
小小工匠
2021/11/15
2790
Java Review - LinkedList源码解读
从上图可知: LinkedList同时实现了List接口和Deque接口,既可以看作一个顺序容器,又可以看作一个队列(Queue),同时又可以看作一个栈(Stack) 。
小小工匠
2021/11/15
2340
arraydeque方法_arrayset
注意: ArrayDeque的迭代器和大多数容器迭代器一样,都是快速失败(fail-fast),但是程序不能利用这个特性决定是或否进行了并发操作。
全栈程序员站长
2022/11/08
3210
16(01)总结List的子类,ArrayList,Vector,LinkedList
1:List的子类(掌握) (1)List的子类特点 ArrayList: 底层数据结构是数组,查询快,增删慢 线程不安全,效率高 Vector: 底层数据结构是数组,查询快,增删慢 线程安全,效率低 LinkedList: 底层数据结构是链表,查询慢,增删快 线程不安全,效率高 (2)ArrayList A:没有特有功能需要学习 B:案例 a:ArrayList存储字符串并遍历 package cn.itcast_01; public class Student { priv
Java帮帮
2018/03/15
9740
Java中的LinkedList的方法的应用
在Java中,LinkedList提供了丰富的方法,可以模拟链式队列,链式堆栈等数据结构,为用户带来了极大的方便,下面看看这些方法的用法:
全栈程序员站长
2022/07/04
3350
菜鸟看源码之ArrayDeque
ArrayDeque实现了Deque接口,内部使用一个可调整大小的数组来存放元素。数组没有容量限制,必要的时候数组的容量会增加。ArrayDeque不是线程安全的。不允许添加Null元素。当ArrayDeque 作为一个栈来使用的时候,ArrayDeque 可能会比Stack 快。当ArrayDeque 作为 队列使用的时候,可能会比 LinkedList 速度要快。
全栈程序员站长
2022/11/05
5220
菜鸟看源码之ArrayDeque
【面试题精讲】ArrayDeque 与 LinkedList 的区别
ArrayDeque和LinkedList是Java集合框架中的两种双端队列实现类。它们分别基于数组和链表实现,在不同的场景下具有不同的优势。ArrayDeque适用于需要高效随机访问元素和栈/队列操作的场景,而LinkedList适用于需要频繁在头部或尾部进行插入和删除操作的场景。在选择使用哪种实现类时,可以根据具体的需求来决定。
程序员朱永胜
2023/10/22
9610
Java集合-Deque
Deque(java.util.Deque)接口代表着双向队列,意思就是可以从队列的两端增加或者删除元素,Deque就是双向Queue的意思。
后端码匠
2021/03/16
9150
java 方法 示例_Java ArrayDeque peekLast()方法与示例
ArrayDeque类peekLast()方法 (ArrayDeque Class peekLast() method)
用户7886150
2021/04/08
9330
Java官方笔记13集合
The Collections Framework is the most widely used API of the JDK.
dongfanger
2023/07/10
1970
Java官方笔记13集合
(48) 剖析ArrayDeque / 计算机程序的思维逻辑
查看历史文章,请点击上方链接关注公众号。 前面我们介绍了队列Queue的两个实现类LinkedList和PriorityQueue,LinkedList还实现了双端队列接口Deque,Java容器类中还有一个双端队列的实现类ArrayDeque,它是基于数组实现的。 我们知道,一般而言,由于需要移动元素,数组的插入和删除效率比较低,但ArrayDeque的效率却非常高,它是怎么实现的呢?本节我们就来详细探讨。 我们首先来看ArrayDeque的用法,然后来分析其实现原理,最后总结分析其特点。 用法 Arr
swiftma
2018/01/31
6930
(48)  剖析ArrayDeque / 计算机程序的思维逻辑
LinkedList源码分析(基于Java8)内部结构构造方法添加2检索3删除4迭代器5 例子6总结
LinkedList是一个实现了List接口和Deque接口的双端链表 有关索引的操作可能从链表头开始遍历到链表尾部,也可能从尾部遍历到链表头部,这取决于看索引更靠近哪一端。 LinkedList不是线程安全的,如果想使LinkedList变成线程安全的,可以使用如下方式: List list=Collections.synchronizedList(new LinkedList(...)); iterator()和listIterator()返回的迭代器都遵循fail-fast机制。 从上图可以看出Lin
JavaEdge
2018/05/16
9680
java arraydeque poll,Java ArrayDeque「建议收藏」
public interface Queue extends Collection {
全栈程序员站长
2022/11/08
4330
Queue 相关数据结构的原理与实现 (LinkedList, ArrayDeque, PriorityQueue)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ajianyingxiaoqinghan/article/details/82670681
剑影啸清寒
2019/05/26
6310
LinkedList源码学习
LinkedList源码学习 被transient修饰的first和last如何序列化呢 LinkedList中重写列writeObject方法,ObjectOutputStream中将调用ObjectStreamClass里的方法通过反射根据方法名称来调用writeObject方法,以LinkedList中定义的方式来序列化链表中的元素和size字段 private void writeObject(java.io.ObjectOutputStream s) throws java.
晓果冻
2022/09/08
6040
LinkedList源码学习
相关推荐
Java基础入门(四十六)
更多 >
目录
  • ArrayDeque in Java
  • ArrayDeque addFirst() Method in Java
  • ArrayDeque add() Method in Java
  • ArrayDeque addLast() Method in Java
  • ArrayDeque getFirst() Method in Java
  • ArrayDeque isEmpty() Method in Java
  • ArrayDeque clear() Method in Java
  • ArrayDeque size() Method in Java
  • ArrayDeque contains() Method in Java
  • ArrayDeque iterator() Method in Java
  • ArrayDeque getLast() Method in Java
  • ArrayDeque element() Method in Java
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档