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

java類比C++的STL庫詳解

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

java類比C++的STL庫

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

常見容器操作

1.vector 和 ArrayList

vector<int> a; - ArrayList<Integer> a = new ArrayList<>();
size() - size()  // 返回元素個數(shù)
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(起始下標(biāo),(子串長度)) - substring(起始下標(biāo),(終止下標(biāo) + 1)) // 返回子串
c_str()  // 返回字符串所在字符數(shù)組的起始地址
支持加法運算 - 支持加法運算

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

默認(rèn)是大根堆 - 默認(rèn)是小根堆
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  // 插入一個數(shù)
find() - contains()  // 查找一個數(shù)
erase() - remove() // 刪除元素

7.unordered_map 和 HashMap

size() - size()
empty() - isEmpty()
clear() - clear()
insert() - put() // 插入的數(shù)是一個 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 對應(yīng)的節(jié)點,則插入

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

相關(guān)文章

  • java中Memcached的使用實例(包括與Spring整合)

    java中Memcached的使用實例(包括與Spring整合)

    這篇文章主要介紹了java中Memcached的使用實例(包括與Spring整合),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java 對 Cookie增刪改查的實現(xiàn)示例

    Java 對 Cookie增刪改查的實現(xiàn)示例

    這篇文章主要介紹了Java 對 Cookie增刪改查的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • java實現(xiàn)從方法返回多個值功能示例

    java實現(xiàn)從方法返回多個值功能示例

    這篇文章主要介紹了java實現(xiàn)從方法返回多個值功能,結(jié)合實例形式分析了集合類、封裝對象、引用傳遞三種實現(xiàn)方法,需要的朋友可以參考下
    2017-10-10
  • java網(wǎng)絡(luò)通信技術(shù)之簡單聊天小程序

    java網(wǎng)絡(luò)通信技術(shù)之簡單聊天小程序

    這篇文章主要為大家詳細介紹了java網(wǎng)絡(luò)通信技術(shù)之簡單聊天小程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Java中Lambda表達式的使用詳解

    Java中Lambda表達式的使用詳解

    Lambda 表達式,也可稱為閉包,它是推動 Java 8 發(fā)布的最重要新特性。Lambda 允許把函數(shù)作為一個方法的參數(shù)(函數(shù)作為參數(shù)傳遞進方法中)。使用 Lambda 表達式可以使代碼變的更加簡潔緊湊
    2021-09-09
  • SpringBoot實現(xiàn)基于URL和IP的訪問頻率限制

    SpringBoot實現(xiàn)基于URL和IP的訪問頻率限制

    在現(xiàn)代?Web?應(yīng)用中,接口被惡意刷新或暴力請求是一種常見的攻擊手段,為了保護系統(tǒng)資源,需要對接口的訪問頻率進行限制,下面我們就來看看如何使用?Spring?Boot?實現(xiàn)基于?URL?和?IP?的訪問頻率限制吧
    2025-01-01
  • java Map轉(zhuǎn)Object與Object轉(zhuǎn)Map實現(xiàn)代碼

    java Map轉(zhuǎn)Object與Object轉(zhuǎn)Map實現(xiàn)代碼

    這篇文章主要介紹了 java Map轉(zhuǎn)Object與Object轉(zhuǎn)Map實現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • springboot做代理分發(fā)服務(wù)+代理鑒權(quán)的實現(xiàn)過程

    springboot做代理分發(fā)服務(wù)+代理鑒權(quán)的實現(xiàn)過程

    這篇文章主要介紹了springboot做代理分發(fā)服務(wù)+代理鑒權(quán)的實現(xiàn)過程,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • springmvc使用REST出現(xiàn):Request?method?'PUT'?not?supported問題

    springmvc使用REST出現(xiàn):Request?method?'PUT'?not?sup

    這篇文章主要介紹了springmvc使用REST出現(xiàn):Request?method?'PUT'?not?supported問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • SpringBoot如何集成Netty

    SpringBoot如何集成Netty

    這篇文章主要介紹了SpringBoot如何集成Netty問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06

最新評論