最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java類比C++的STL庫詳解

 更新時間:2023年08月18日 10:00:16   作者:依嘫_吃代碼  
這篇文章主要介紹了java類比C++的STL庫詳解,標準模板庫,是C++標準庫的重要組成部分,中文可譯為標準模板庫或者泛型庫,其包含有大量的模板類和模板函數,STL 是一些容器、算法和其他一些組件的集合,需要的朋友可以參考下

java類比C++的STL庫

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

常見容器操作

1.vector 和 ArrayList

vector<int> a; - ArrayList<Integer> a = new ArrayList<>();
size() - size()  // 返回元素個數
empty() - isEmpty()  // 返回是否為空
clear() - clear  // 清空
front()/back() - get(0)/get(a.size() - 1)
push_back()/pop_back() - add()/remove(a.size() - 1)
begin()/end() - iterator()
[] - get()
支持比較運算 - 不支持比較運算
ArrayList 的遍歷:
for (int i = 0; i < a.size(); i++) a.get(i);
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()) iterator.next()
for (int num : a) num;

2.pair 和 Pair

Java 需要 import javafx.util.Pair ,目前 acwing 不支持

pair<int, int> p = make_pair(1, 2); - Pair<Integer, Integer> p = new Pair<>(1, 2); 
first - getKey() // 第一個元素
second - getValue() // 第二個元素
支持比較運算 - 不支持比較運算

3.string 和 String

string a = "yxc"; - String b = "hqh";
size()/length() - length()  // 返回字符串長度
empty()
clear()
substr(起始下標,(子串長度)) - substring(起始下標,(終止下標 + 1)) // 返回子串
c_str()  // 返回字符串所在字符數組的起始地址
支持加法運算 - 支持加法運算

4.queue, stack, deque 和 Deque

有兩個實現(xiàn)類,一般使用 ArrayDeque

queue, 隊列
   size() - size()
   empty() - isEmpty()
   push() - offer()  // 向隊尾插入一個元素
   front() - peek()  // 返回隊頭元素
   back()  // 返回隊尾元素
   pop() - poll()  // 彈出隊頭元素
stack, 棧
   size() - size()
   empty() - isEmpty()
   push() - push()  // 向棧頂插入一個元素
   top() - peek()  // 返回棧頂元素
   pop() - pop()  // 彈出棧頂元素
deque, 雙端隊列
   size() - size()
   empty() - isEmpty()
   clear() - clear()
   front()/back() - getFirst()/getLast()
   push_back()/pop_back() - offerLast()/pollLast()
   push_front()/pop_front() - offerFirst()/pollFirst()
   begin()/end() - iterator()
   []

5.priority_queue 和 PriorityQueue

默認是大根堆 - 默認是小根堆
push() - offer()  // 插入一個元素
top() - peek()  // 返回堆頂元素
pop() - poll() // 彈出堆頂元素
PriorityQueue 定義成大根堆的方式:
PriorityQueue<Integer> pq = new PriorityQueue<>((o1, o2) -> o2 - o1);

6.unordered_set 和 HashSet

size() - size()
empty() - isEmpty()
clear() - clear()
insert() - add  // 插入一個數
find() - contains()  // 查找一個數
erase() - remove() // 刪除元素

7.unordered_map 和 HashMap

size() - size()
empty() - isEmpty()
clear() - clear()
insert() - put() // 插入的數是一個 pair
find() - get(key) // 查找一個 pair
erase() - remove() // 刪除元素
    - containsKey(key)/containsValue(value) // 判斷元素是否在集合中
    - entrySet() // 返回一個包含所有節(jié)點的集合
    - keySet() // 返回一個包含所有鍵的集合
    - values() // 返回一個包含所有值的集合
    - getOrDefault(key, default value) // 返回指定 key 的 value,若 key 不存在 則返回 default value
    - putIfAbsent(key, value) // 如果集合中沒有該 key 對應的節(jié)點,則插入

到此這篇關于java類比C++的STL庫詳解的文章就介紹到這了,更多相關java類比STL庫內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Spring?Boot自動裝配、啟動流程、配置優(yōu)先級問題記錄

    Spring?Boot自動裝配、啟動流程、配置優(yōu)先級問題記錄

    Spring?Boot通過@EnableAutoConfiguration注解和條件注解,實現(xiàn)自動裝配功能,但并非全自動,而是有條件,啟動流程包括初始化SpringApplication實例和執(zhí)行run()方法,本文介紹Spring?Boot自動裝配、啟動流程、配置優(yōu)先級問題記錄,感興趣的朋友跟隨小編一起看看吧
    2025-12-12
  • springboot啟動加載CommandLineRunner @PostConstruct問題

    springboot啟動加載CommandLineRunner @PostConstruct問題

    這篇文章主要介紹了springboot啟動加載CommandLineRunner @PostConstruct問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Java開發(fā)JUC交換器Exchanger使用詳解

    Java開發(fā)JUC交換器Exchanger使用詳解

    這篇文章主要為大家介紹了Java開發(fā)JUC交換器Exchanger使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • Java中四種線程池的使用示例詳解

    Java中四種線程池的使用示例詳解

    這篇文章主要給大家介紹了關于Java中四種線程池的使用方法,四種線程池分別包括FixedThreadPool、CachedThreadPool、ScheduledThreadPool以及SingleThreadExecutor,文中給出了詳細的示例代碼供大家參考,需要的朋友們下面來一起看看吧。
    2017-08-08
  • Java中Stream?Filter多條件篩選過濾代碼舉例

    Java中Stream?Filter多條件篩選過濾代碼舉例

    這篇文章主要給大家介紹了關于Java中Stream?Filter多條件篩選過濾的相關資料,Java Stream中的filter方法可以使用多個條件來過濾數據,文中給出了詳細的代碼示例,需要的朋友可以參考下
    2023-12-12
  • Nacos配置文件使用經驗及CAP原則詳解

    Nacos配置文件使用經驗及CAP原則詳解

    這篇文章主要為大家介紹了Nacos配置文件使用經驗及CAP規(guī)則詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-02-02
  • SpringBoot配置Https訪問的詳細步驟

    SpringBoot配置Https訪問的詳細步驟

    HTTP(Hypertext transfer protocal)是一種詳細規(guī)定了瀏覽器和萬維網服務器之間相互通信的規(guī)則,通過因特網傳送萬維網文檔的數據傳送協(xié)議,這篇文章主要介紹了SpringBoot配置Https訪問的詳細步驟,需要的朋友可以參考下
    2024-02-02
  • python實現(xiàn)高斯模糊及原理詳解

    python實現(xiàn)高斯模糊及原理詳解

    高斯模糊是一種常見的模糊技術,本文主要介紹了python實現(xiàn)高斯模糊及原理詳解,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • java實現(xiàn)區(qū)域內屏幕截圖示例

    java實現(xiàn)區(qū)域內屏幕截圖示例

    這篇文章主要介紹了java截圖示例,需要的朋友可以參考下
    2014-04-04
  • Elasticsearch查詢及聚合類DSL語句寶典示例詳解

    Elasticsearch查詢及聚合類DSL語句寶典示例詳解

    這篇文章主要為大家介紹了Elasticsearch查詢及聚合類DSL語句寶典示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01

最新評論

弥勒县| 稷山县| 启东市| 清苑县| 阜城县| 清水县| 吴桥县| 平顺县| 长泰县| 盐边县| 许昌市| 正安县| 湛江市| 城固县| 阿克陶县| 漳平市| 宝山区| 广宗县| 东丰县| 右玉县| 平遥县| 麻江县| 汉中市| 乃东县| 工布江达县| 定南县| 崇文区| 漾濞| 隆德县| 疏附县| 阿图什市| 西峡县| 锡林浩特市| 象州县| 宁城县| 正宁县| 布拖县| 日照市| 浙江省| 蕲春县| 汶川县|