保安日記之順序表

2021-10-06 09:46:40 字數 2085 閱讀 8020

集合框架中用arraylist和vector來實現順序表這個資料結構,他們的底層都是基於陣列來實現的線性表,這兩順序表的區別在於:

vector是乙個老版本的順序表 arraylist是新版本的順序表

vector是執行緒安全的(效率比執行緒不安全版本低).arraylist是執行緒安全的,不加鎖的

現在不太推薦使用vector.更建議使用juc中的元件,優化的更好,效能更高

順序表的特性就是知道我放了幾個元素 並且不能跳著放

接下來我們就借助陣列來自己實現乙個順序表:

public

class

myarraylist

// 列印順序表

public

void

display()

}// 在 pos 位置新增元素

//1.判斷當前順序表是不是滿的

//2.挪資料從順序表的最後乙個元素開始往後挪.一直挪到pos位置

//在usedsize-1的位置開始挪位置,一直到pos位置

public

void

add(

int pos,

int data)

if(pos<

0||pos>

this

.usedsize)

int i=

this

.usedsize-1;

while

(i>=pos)

this

.elem[pos]

=data;

this

.usedsize+=1;

}//判斷是不是滿的

public

boolean

isfull()

return

false;}

//判斷順序表是否為空

public

boolean

isempty()

return

false;}

// 判定是否包含某個元素

public

boolean

contains

(int tofind)

for(

int i =

0; i <

this

.usedsize; i++)}

return

false;}

// 查詢某個元素對應的位置

public

intsearch

(int tofind)

for(

int i =

0; i <

this

.usedsize; i++)}

return-1

;}// 獲取 pos 位置的元素

public

intgetpos

(int pos)

if(pos<

0||pos>

this

.usedsize)

return

this

.elem[pos];}

// 給 pos 位置的元素設為 value

public

void

setpos

(int pos,

int value)

//刪除第一次出現的關鍵字key

public

void

remove

(int key)if(

search

(key)==-

1)int i=

search

(key)

;while

(i<

this

.usedsize-1)

this

.usedsize-=1;

}// 獲取順序表長度

public

intsize()

// 清空順序表

//置為0

public

void

clear()

//擴容 不可能在原來基礎上擴容

private

void

grow()

}

保安日記 番外篇之網路協議

網路層 ip 網路之間互連的協議 lnternet protocol 相當於網路中的乙個節點,類似於位址,我們稱之為ip位址同乙個網路中,ip位址具有唯一性 ipv4網路使用32位位址,以點分十進位制表示,如192.168.0.1 127.0.0.1 本機 192.168 家庭路由器 10 內部區域...

保安日記 番外篇之軟體測試(一)

一 軟體測試定義 通過手工或者工具對被測物件進行測試操作,從而驗證實際結與預期結果之間是否存在差異。二 軟體測試的作用 通過測試工作可以發現並修復軟體當中存在的缺陷,從而提高使用者對產品的使用信心。測試可以記錄軟體執行過程中產生的一些資料.從而為決策提供資料支援。測試可以降低同型別產品開發遇到問題的...

保安日記之標準庫中的棧及佇列基本操作

一 前言 之前的兩篇部落格我們根據棧和佇列後進先出 先進先出的特點對這兩種資料結構用順序表和煉表分別進行了實現,也有了一定的了解,這篇我們就來介紹一下標準庫中的棧和佇列 二 棧2.1 標準庫中的棧 標準庫中的stack是乙個class 2.2 棧的操作 public class main 2.3 棧...