欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java.util.ArrayDeque類使用方法詳解

 更新時間:2016年03月29日 11:49:00   投稿:lijiao  
這篇文章主要介紹了java.util.ArrayDeque類使用方法,java.util.ArrayDeque類提供了可調(diào)整大小的陣列,并實現(xiàn)了Deque接口,感興趣的小伙伴們可以參考一下

本文為大家介紹了java.util.ArrayDeque類使用方法,供大家參考,具體內(nèi)容如下

1. ArrayDeque有兩個類屬性,head和tail,兩個指針。
2. ArrayDeque通過一個數(shù)組作為載體,其中的數(shù)組元素在add等方法執(zhí)行時不移動,發(fā)生變化的只是head和tail指針,而且指針是循環(huán)變化,數(shù)組容量不限制。
3. offer方法和add方法都是通過其中的addLast方法實現(xiàn),每添加一個元素,就把元素加到數(shù)組的尾部,此時,head指針沒有變化,而tail指針加一,因為指針是循環(huán)加的,所以當(dāng)tail追上head((this.tail = this.tail + 1 & this.elements.length - 1) == this.head)時,數(shù)組容量翻一倍,繼續(xù)執(zhí)行。
4. remove方法和poll方法都是通過其中的pollFirst方法實現(xiàn),每移除一個元素,該元素所在位置變成null,此時,tail指針沒有變化,而head指針加一,當(dāng)數(shù)組中沒有數(shù)據(jù)時,返回null。
5. 因為ArrayDeque不是線程安全的,所以,用作堆棧時快于 Stack,在用作隊列時快于 LinkedList。

package com.what21.collect11;
 
import java.util.ArrayDeque;
import java.util.Deque;
 
public class ArrayDequeDemo {
 
  /**
   * @param args
   */
  public static void main(String[] args) {
    Deque<Object> data = new ArrayDeque<Object>();
    // 增加元素
    for (int i = 0; i < 20; i++) {
      data.push("www.what21.com ." + i + " ");
    }
    // 刪除第一個
    data.removeFirst();
    // 獲取第一個
    System.out.println(data.peekFirst());
    // 增加到最后
    data.addLast("www.what21.com .9999");
    //
    System.out.println(data);
    // 遍歷
    for(Object o : data){
      System.out.println(o);
    }
  }
   
}
 

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。

相關(guān)文章

  • Springboot項目快速實現(xiàn)過濾器功能

    Springboot項目快速實現(xiàn)過濾器功能

    上篇文章已經(jīng)給大家介紹了Springboot項目如何快速實現(xiàn)Aop功能,這篇文章給大家介紹Springboot項目如何快速實現(xiàn)過濾器功能,感興趣的小伙伴可以參考閱讀
    2023-03-03
  • Springboot整合Shiro實現(xiàn)登錄與權(quán)限校驗詳細解讀

    Springboot整合Shiro實現(xiàn)登錄與權(quán)限校驗詳細解讀

    本文給大家介紹Springboot整合Shiro的基本使用,Apache?Shiro是Java的一個安全框架,Shiro本身無法知道所持有令牌的用戶是否合法,我們將整合Shiro實現(xiàn)登錄與權(quán)限的驗證
    2022-04-04
  • SpringMVC請求/響應(yīng)亂碼問題解決方案解析

    SpringMVC請求/響應(yīng)亂碼問題解決方案解析

    這篇文章主要介紹了SpringMVC請求/響應(yīng)亂碼問題解決方案解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • Java創(chuàng)建可執(zhí)行JAR文件的多種方式

    Java創(chuàng)建可執(zhí)行JAR文件的多種方式

    本文主要介紹了Java創(chuàng)建可執(zhí)行JAR文件的多種方式,使用JDK的jar工具、IDE、Maven和Gradle來創(chuàng)建和配置可執(zhí)行JAR文件,具有一定的參考價值,感興趣的可以了解一下
    2024-07-07
  • 解決TreeSet類的排序問題

    解決TreeSet類的排序問題

    本文介紹TreeSet支持兩種排序方法:自然排序和定制排序。TreeSet默認采用自然排序。詳細請看下文
    2015-09-09
  • spring cloud zuul修改請求url的方法

    spring cloud zuul修改請求url的方法

    這篇文章主要給大家介紹了關(guān)于spring cloud zuul修改請求url的方法,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用spring cloud具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-09-09
  • Java繼承的問題引導(dǎo)和測試代碼

    Java繼承的問題引導(dǎo)和測試代碼

    這篇文章主要介紹了Java繼承的問題引導(dǎo)和測試代碼,涉及繼承的概念,合成的語法等相關(guān)內(nèi)容,具有一定借鑒價值,需要的朋友可以參考下。
    2021-08-08
  • 淺談Spring Data Redis讀不到設(shè)進去的值

    淺談Spring Data Redis讀不到設(shè)進去的值

    本文主要介紹了Spring Data Redis怎么讀不到我剛才設(shè)進去的值,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 簡單談?wù)凷truts動態(tài)表單(DynamicForm)

    簡單談?wù)凷truts動態(tài)表單(DynamicForm)

    下面小編就為大家?guī)硪黄唵握務(wù)凷truts動態(tài)表單(DynamicForm)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • Java內(nèi)部類原理與用法實例總結(jié)

    Java內(nèi)部類原理與用法實例總結(jié)

    這篇文章主要介紹了Java內(nèi)部類原理與用法,結(jié)合實例形式總結(jié)分析了非靜態(tài)內(nèi)部類、靜態(tài)內(nèi)部類、局部類等相關(guān)概念、原理、用法及相關(guān)操作注意事項,需要的朋友可以參考下
    2018-08-08

最新評論