主頁 > 軟體設計 > 【人生苦短,我學 Python】基礎篇——串列(Day8)

【人生苦短,我學 Python】基礎篇——串列(Day8)

2021-01-19 12:56:35 軟體設計

大家好!我是【AI 菌】,有幸入選這次【博客之星】總評選,請為我投出關鍵的一票,可選擇最大票數,非常感謝!1月25日前,每天都有可投票哦~

投票通道:https://bss.csdn.net/m/topic/blog_star2020/detail?username=wjinjie

在這里插入圖片描述

-> 前往【人生苦短,我學 Python】總目錄 <-

文章目錄

    • 一、串列簡介
      • (1) 什么是串列
      • (2) 訪問串列元素
      • (3) 嵌套串列
    • 二、 索引、切分與串列復制
      • (1) 索引
      • (2) 切片
      • (3) 串列復制
    • 三、串列元素個數、最大值、最小值、轉換
      • (1) 回傳元素個數
      • (2) 回傳元素最大值
      • (3) 回傳元素最小值
      • (4) 將元組轉換成串列
    • 四、修改、添加和洗掉操作
      • (1) 修改串列元素
      • (2) 在串列末尾添加元素
      • (3) 在串列中插入元素
      • (4) 洗掉串列元素
    • 五、串列運算子
      • (1) 拼接運算子
      • (2) 復制運算子
    • 六、串列排序
      • (1) 永久性排序sort()
      • (2) 臨時性排序sorted()
    • 七、其他成員函式
      • (1) 統計某元素出現的次數count()
      • (2) 從串列中找出某個值第一個匹配項的索引位置index()
      • (3) 反向串列中元素reverse()
      • (4) 清空串列clear()
      • (5) 復制串列copy()


一、串列簡介

(1) 什么是串列

串列由一系列按特定順序排列的元素組成,這些元素可以是:數字、字母、字串等其它型別的資料,在 Python 中,用方括號 [ ] 來表示串列,并用逗號來分隔其中的元素,下面是一個簡單的串列示例:

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", 
			 "Friday", "Saturday", "Sunday"]
print(week_list)

如果你使用print()函式, Python 將列印串列的內部表示,包括方括號:

['Monday', 'Tuseday', 'Wednseday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

如果你想直接輸出串列里的每個元素,那么就得學習如何訪問串列的元素,

(2) 訪問串列元素

串列是有序集合,因此要訪問串列的任何元素,只需知道該元素在串列中的位置即可,要訪問串列元素,可指出串列的名稱,再指出元素的索引,并將其放在方括號內,例如,我們要獲取上面串列中的Friday:

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday",
			 "Friday", "Saturday", "Sunday"]
print(Week_list[4])

以上演示了訪問串列元素的語法,當你請求獲取串列元素時, Python 只回傳該元素值,而不包括方括號和引號:

Friday

當然,如果你想依次輸出串列中的每一個元素,可以通過for實作:

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday",
			 "Friday", "Saturday", "Sunday"]
for day in Week_list:
    print(day)

通過for回圈遍歷串列,依次輸出每一個元素:

Monday
Tuseday
Wednseday
Thursday
Friday
Saturday
Sunday

(3) 嵌套串列

嵌套串列即在串列里創建其它串列,例如:

list1 = [1, 2, 3]
list2 = ["曹操", "孫權", "劉備"]
list = [list1, list2]
print(list)

嵌套串列相當于串列里的元素是串列:

[[1, 2, 3], ['曹操', '孫權', '劉備']]

當想要取串列里的一個元素時,比如“曹操”,就需要學習索引的用法,

二、 索引、切分與串列復制

(1) 索引

索引值與元素的位置有關,在 Python 中,第一個串列元素的索引為 0 ,而不是 1 ,根據這種簡單的計數方式,要訪問串列的任何元素,都可將其位置減 1 ,并將結果作為索引,例如,要訪問第10個串列元素,可使用索引 9,

對于普通的串列,當我們想訪問其第5個元素時:

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday",
			 "Friday", "Saturday", "Sunday"]
print(Week_list[4])

程式輸入:

Friday

對于嵌套串列,當我們想訪問其中的元素,比如上面串列中的“曹操”,則通過如下方式:

list = [[1, 2, 3], ['曹操', '孫權', '劉備']]
print(list[1][0])

程式輸入:

曹操

其中,list[1][0]中的索引值1表示取第二個串列,索引值0表示取第二個串列中的第一個元素,

(2) 切片

通過索引可以訪問單個串列元素,通過切片則可以處理串列的全部或部分元素,要創建切片,可指定要使用的第一個元素和最后一個元素的索引,主要注意的是:Python 在到達你指定的第二個索引前面的元素后停止,

1.例如:要輸出串列中的前三個元素,需要指定索引 0~3 ,這將輸出分別為 0 、 1 和 2 的元素,

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
print(Week_list[0:3])

通過切片取串列的前三個元素:

['Monday', 'Tuseday', 'Wednseday']

2.你也可以獲取串列的任何子集,例如,如果你要提取串列的第 2~6 個元素,可將起始索引指定為 1 ,并將終止索引指定為 6 :

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
print(Week_list[1:6])

輸出周二至周六:

['Tuseday', 'Wednseday', 'Thursday', 'Friday', 'Saturday']

3.如果沒有指定第一個索引, Python 將自動從串列開頭開始:

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
print(Week_list[:6])

輸出周一至周六:

['Monday', 'Tuseday', 'Wednseday', 'Thursday', 'Friday', 'Saturday']

4.如果想取從第 3 個元素到串列末尾的所有元素,也可以通過如下方式:

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
print(Week_list[2:])

回傳周三至周天:

['Wednseday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

5.如果要遍歷串列的部分元素,則可在 for 回圈中使用切片,

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
for day in Week_list[:3]:
    print(day)

遍歷串列1至3個元素,并輸出:

Monday
Tuseday
Wednseday

(3) 串列復制

在開發程序中,我們經常需要根據既有串列創建全新的串列,下面來介紹復制串列的作業原理,以及復制串列可提供極大幫助的一種情形,

要復制串列,可創建一個包含整個串列的切片,方法是同時省略起始索引和終止索引 [ : ] ,這讓 Python 創建一個始于第一個元素,終止于最后一個元素的切片,即復制整個串列,

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
Week_list_copy1 = Week_list
Week_list_copy2 = Week_list[:]
print("Week_list:", id(Week_list))
print("Week_list_copy1:", id(Week_list_copy1))
print("Week_list_copy2:", id(Week_list_copy2))

我們通過采用和不采用 [ : ]的兩種方式進行復制,得到串列的id如下:

Week_list: 298963473096
Week_list_copy1: 298963473096
Week_list_copy2: 298963418440

從結果可以看出:Week_list_copy1與原串列Week_list的id相同,說明Week_list_copy1和原串列指向的是同一個串列;Week_list_copy2與原串列Week_list的id不同,說明通過 [ : ] 的方式復制,創建的才是一個新的串列,

三、串列元素個數、最大值、最小值、轉換

在Python中,包含一些內置函式,可以輕松處理像串列這一型別的資料,

(1) 回傳元素個數

對于普通串列,回傳串列元素的個數:

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday",
			 "Friday", "Saturday", "Sunday"]
print(len(Week_list))

程式輸出:

7

對于嵌套串列,回傳串列中串列的個數:

list = [[1, 2, 3], ['曹操', '孫權', '劉備']]
print(len(list))

程式輸出:

2

(2) 回傳元素最大值

max() 方法回傳串列元素中的最大值:

list1, list2 = ['Google', 'Baidu', 'Taobao'], [1, 2, 3]
print("list1 最大元素值 : ", max(list1))
print("list2 最大元素值 : ", max(list2))

輸出串列中元素的最大值:

list1 最大元素值 :  Taobao
list2 最大元素值 :  3

(3) 回傳元素最小值

min() 方法回傳串列元素中的最小值:

list1, list2 = ['Google', 'Baidu', 'Taobao'], [1, 2, 3]
print("list1 最小元素值 : ", min(list1))
print("list2 最小元素值 : ", min(list2))

輸出串列中元素的最小值:

list1 最小元素值 :  Baidu
list2 最小元素值 :  1

(4) 將元組轉換成串列

list() 方法用于將元組或字串轉換為串列:

str = "Hello Python"
list2 = list(str)
print("串列元素 : ", list2)

Tuple = (123, 'Google', 'baidu', 'Taobao')
list1 = list(Tuple)
print("串列元素 : ", list1)

程式結果:

串列元素 :  ['H', 'e', 'l', 'l', 'o', ' ', 'P', 'y', 't', 'h', 'o', 'n']
串列元素 :  [123, 'Google', 'baidu', 'Taobao']

注:元組與串列是非常類似的,區別在于元組的元素值不能修改,元組是放在括號中,串列是放于方括號中,

四、修改、添加和洗掉操作

(1) 修改串列元素

修改串列元素的語法與訪問串列元素的語法類似,要修改串列元素,可指定串列名和要修改的元素的索引,再指定該元素的新值,比如下面,我們將串列中的第一個值:

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday",
			 "Friday", "Saturday", "Sunday"]
Week_list[0] = "星期一"
print(Week_list)

將串列中的Monday改為“星期一”:

['星期一', 'Tuseday', 'Wednseday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

當然,你可以修改任何串列元素的值,而不僅僅是第一個元素的值,

(2) 在串列末尾添加元素

在串列中添加新元素時,最簡單的方式是使用append()將元素添加到串列末尾:

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday",
			 "Friday", "Saturday", "Sunday"]
Week_list.append(100)
print(Week_list)

將100添加到串列末尾:

['Monday', 'Tuseday', 'Wednseday', 'Thursday', 'Friday', 'Saturday', 'Sunday', 100]

使用append() 能很輕松地創建串列,例如,你可以先創建一個空串列,再使用一系列的 append() 陳述句添加元素,下面來創建一個空串列,再在其中添加元素:

Week_list = []
Week_list.append(1)
Week_list.append(2)
Week_list.append(3)
print(Week_list)

程式輸出:

[1, 2, 3]

(3) 在串列中插入元素

使用方法 insert() 可在串列的任何位置添加新元素,為此,你需要指定新元素的索引和值:

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday",
			 "Friday", "Saturday", "Sunday"]
Week_list.insert(0, 100)
print(Week_list)

在串列開頭添加100:

[100, 'Monday', 'Tuseday', 'Wednseday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

(4) 洗掉串列元素

在資料處理程序中,我們經常需要從串列中洗掉一個或多個元素,Python提供了4中洗掉串列中元素的方法:

1.使用 del 陳述句洗掉元素,如果知道要洗掉的元素在串列中的位置,可使用 del 陳述句,

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
del Week_list[0]
print(Week_list)

洗掉串列中第一個元素:

['Tuseday', 'Wednseday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

2.使用方法 pop() 洗掉元素,方法 pop() 可洗掉串列末尾的元素,并讓你能夠接著使用它,

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
Week_list.pop()
print(Week_list)

洗掉串列中最后一個元素:

['Monday', 'Tuseday', 'Wednseday', 'Thursday', 'Friday', 'Saturday']

3.洗掉串列中任何位置處的元素, 實際上,使用 pop() 也可以洗掉串列中任何位置的元素,只需在括號中指定要洗掉的元素的索引即可,

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
Week_list.pop(1)
print(Week_list)

洗掉串列中第二個元素:

['Monday', 'Wednseday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

注:如果你不確定該使用 del 陳述句還是 pop() 方法,下面是一個簡單的判斷標準:如果你要從串列中洗掉一個元素,且不再以任何方式使用它,就使用 del 陳述句;如果你要在洗掉元素后還能繼續使用它,就使用方法 pop() ,

4.根據值洗掉元素,有時候,你不知道要從串列中洗掉的值所處的位置,如果你只知道要洗掉的元素的值,可使用方法 remove() ,

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
Week_list.remove("Monday")
print(Week_list)

洗掉串列中的元素"Monday":

['Tuseday', 'Wednseday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

注:remove() 洗掉的是串列中某個值的第一個匹配項

五、串列運算子

(1) 拼接運算子

在Python,+ 也可作為拼接運算子,將不同串列拼接成一個串列:

list1 = [1, 2, 3]
list2 = [4, 5, 6]
print(list1 + list2)

拼接成一個串列后:

[1, 2, 3, 4, 5, 6]

(2) 復制運算子

使用 * 運算子,可以輕松實作串列元素的復制:

list = [1, 2, 3]
print(list * 2)

將串列中所有元素復制到2倍:

[1, 2, 3, 1, 2, 3]

同樣地道理,也可以復制多倍,

六、串列排序

在實際開發程序中,有時候你希望保留串列元素最初的排列順序,而有時候又需要調整排列順序, Python 提供了很多組織串列的方式,可根據具體情況選用,

(1) 永久性排序sort()

sort() 讓你能夠較為輕松地對串列進行排序,下面對串列中的元素按照字母進行排序:

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
Week_list.sort()
print(Week_list)

通過 sort()進行排序,是永久性地改變原串列中元素的順序:

['Friday', 'Monday', 'Saturday', 'Sunday', 'Thursday', 'Tuseday', 'Wednseday']

當要降序排序時,只需向 sort() 方法傳遞引數 reverse=True,如下所示:

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
Week_list.sort(reverse=True)
print(Week_list)

降序排序結果如下所示:

['Wednseday', 'Tuseday', 'Thursday', 'Sunday', 'Saturday', 'Monday', 'Friday']

(2) 臨時性排序sorted()

有時候想對串列進行排序,又需要時保留原串列元素的順序,就可以使用sorted()函式,

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
Week_list_sorted = sorted(Week_list)
print(Week_list_sorted)
print(Week_list)

比較排序后的輸結果:

['Friday', 'Monday', 'Saturday', 'Sunday', 'Thursday', 'Tuseday', 'Wednseday']
['Monday', 'Tuseday', 'Wednseday', 'Thursday', 'Friday', 'Saturday', 'Sunday']

可以看出:sorted() 并沒有改變原串列中元素的順序,

七、其他成員函式

(1) 統計某元素出現的次數count()

count() 方法用于統計某個元素在串列中出現的次數,比如:

list = [1, 2, 2, 2, 3]
print("串列中2的個數:", list.count(2))

運行結果:

串列中2的個數: 3

(2) 從串列中找出某個值第一個匹配項的索引位置index()

index() 函式用于從串列中找出某個值第一個匹配項的索引位置,比如找出串列中的2的索引:

list = [1, 2, 2, 2, 3]
print("串列中2第一次出現的索引:", list.index(2))

運行結果:

串列中2第一次出現的索引: 1

另外,也可以指定從串列某個位置開始搜索:

list = [1, 2, 2, 2, 3, 2, 3]
print("從第五個元素開始,串列中2第一次出現的索引:", list.index(2, 4))

從索引值為4的元素開始搜索,結果為:

從第五個元素開始,串列中2第一次出現的索引: 5

(3) 反向串列中元素reverse()

reverse() 函式用于反向串列中元素,當我們要反向輸出串列中元素時:

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
Week_list.reverse()
print(Week_list)

顛倒串列中元素的位置后,輸出結果為:

['Sunday', 'Saturday', 'Friday', 'Thursday', 'Wednseday', 'Tuseday', 'Monday']

(4) 清空串列clear()

clear() 函式用于清空串列,類似于 del a[:],

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
Week_list.clear()
print ("串列清空后 : ", Week_list)

串列清空后:

串列清空后 :  []

(5) 復制串列copy()

copy() 函式用于復制串列,類似于前面講到的通過索引[:]復制的方式,

Week_list = ["Monday", "Tuseday", "Wednseday", "Thursday", "Friday", "Saturday", "Sunday"]
Week_list_copy1 = Week_list.copy()
print("Week_list:", id(Week_list))
print("Week_list_copy():", id(Week_list_copy1))

運行結果:

Week_list: 250643256008
Week_list_copy(): 250643201352

可以看出:使用copy()函式復制的方式與通過[:]復制的方式類似,都是創建了一個新的串列,


-> 回到【人生苦短,我學 Python】總目錄 <-
在這里插入圖片描述
由于水平有限,博客中難免會有一些錯誤,有紕漏之處懇請各位大佬不吝賜教!

AI 菌 CSDN認證博客專家 博客專家 CSDN合作伙伴 演算法實習僧
一枚愛彈吉他的程式猿,死磕深度學習、計算機視覺,歡迎大家關注我的個人公眾號【我是AI菌】,在那里我會分享一些有趣的技術和干貨!

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/250722.html

標籤:其他

上一篇:【劍指Offer題解:java】反轉鏈表

下一篇:帶你一起學計算機專業英語!(IT行業、四六級黨快記起來)《軟體工程專業英語》第三單元:專案計劃——單詞、短語、名詞縮寫、難句

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more