当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Collections asLifoQueue()用法及代码示例


java.util.Collections类的asLifoQueue()方法用于返回Deque的视图作为后进先出(Lifo)队列。方法add映射为push,remove映射为pop等。当您想使用需要Queue但需要Lifo排序的方法时,此视图很有用。

此方法返回的队列上的每个方法调用都会在后备双端队列上恰好产生一个方法调用,但有一个例外。 addAll方法作为对后备双端队列的addFirst调用序列实现。

用法:


public static Queue asLifoQueue(Deque deque)

参数:此方法将双端队列作为要转换为LifoQueue的参数。

返回值:此方法从双端队列返回一个LifoQueue。

以下示例说明了asLifoQueue()方法

示例1:

// Java program to demonstrate 
// asLifoQueue() method 
  
import java.util.*; 
  
public class GFG1 { 
    public static void main(String[] argv) throws Exception 
    { 
  
        try { 
  
            // creating object of Deque<Integer> 
            Deque<Integer> deque = new ArrayDeque<Integer>(7); 
  
            // Adding element to deque 
            deque.add(1); 
            deque.add(2); 
            deque.add(3); 
            deque.add(4); 
            deque.add(5); 
  
            // get queue from the deque 
            // using asLifoQueue() method 
            Queue<Integer> nq = Collections.asLifoQueue(deque); 
  
            // printng the Queue 
            System.out.println("View of the queue is: " + nq); 
        } 
        catch (IllegalArgumentException e) { 
  
            System.out.println("Exception thrown : " + e); 
        } 
    } 
}
输出:
View of the queue is: [1, 2, 3, 4, 5]

示例2:

// Java program to demonstrate 
// asLifoQueue() method 
  
import java.util.*; 
  
public class GFG1 { 
    public static void main(String[] argv) throws Exception 
    { 
        try { 
  
            // creating object of Deque<Integer> 
            Deque<String> deque = new ArrayDeque<String>(7); 
  
            // Adding element to deque 
            deque.add("Ram"); 
            deque.add("Gopal"); 
            deque.add("Verma"); 
  
            // get queue from the deque 
            // using asLifoQueue() method 
            Queue<String> nq = Collections.asLifoQueue(deque); 
  
            // printng the Queue 
            System.out.println("View of the queue is: " + nq); 
        } 
        catch (IllegalArgumentException e) { 
  
            System.out.println("Exception thrown : " + e); 
        } 
    } 
}
输出:
View of the queue is: [Ram, Gopal, Verma]


相关用法


注:本文由纯净天空筛选整理自RohitPrasad3大神的英文原创作品 Collections asLifoQueue() method in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。