第十四章 集合

2021-10-21 19:59:13 字數 1481 閱讀 6079

1.集合(把個數不定的物件一起帶著走)

集合是乙個存放任意數量的引用的物件的容器(多個物件放在另乙個物件中,此物件可成為乙個集合物件)

注意:如果集合物件建立時不指定泛型,則在當前集合中可以存放任意型別的物件

包括:collection list set map

list: 介面的實現類有arraylist、linkedlist、vector

特點:有序,可重複

arraylist:陣列結構(底層使用陣列實現),以下標形式獲取指定位置元素

優缺點:查詢方便、插入和移除不便

注意:arraylist建立物件時預設預留10個元素的位置(初始化陣列長度為10),每次

擴容百分之50

linkedlist:鍊錶結構

優缺點:插入和移除方便(快速),查詢不便

場景:頻繁插入和移除

方法:get(int index):獲取指定位置的元素(核心:通過陣列下標獲取元素)

add(int index ,object element)在指定位置新增元素

remove( )引數:位置/物件,如果引數為位置,則移除當前位置的元素,並提供當前

位置元素為返回值;如果引數為物件,則移除當前集合中第乙個匹配

的元素。

vector:還集合執行緒安全,以時間換取安全

set:介面的實現類有:hashset、treeset

特點:無序,不可重複

hashset:使用迭代器或者foreach進行遍歷

原理:根據要存放物件的雜湊值來計算出物件的位置

treeset:使用迭代器或foreach進行遍歷

原理:字元、字串、數字使用字典順序存放,自定義型別的存放順序根據

compareto(來原理compareable介面)方法定義的規則排序

map:鍵值對,hashmap、treemap(原理參照hashset、treeset)

特點:通過鍵獲取對應的值

注意:存放時,鍵相同的情況下,後面的值會替換前面的值

注意:map的鍵一般為string型別,值可以為任意型別

方法:map.put(key,value)表示向map物件中存放乙個鍵值對,key為鍵,value為值

返回值:泛型物件,值為當鍵所對應的原來的值(被替換的值)

map.get(鍵名稱表示獲取當前map物件中指定鍵所對應的值)

注意:鍵名稱大小寫敏感,當鍵沒有對應的值時,當前方法將返回null

2.集合中的方法

size ( )表示獲取集合中的元素個數

add ( )表示向集合中的預設位置新增乙個元素,引數為object型別的子類

3.泛型:泛指一種型別

是一種約束,在建立物件時指定,則使用時只能使用此種型別或其子類

寫法:在類名稱後面新增《大寫字母》,一般來說,類的泛型預設為t,介面的泛型預設為e.

注意:泛型可以有多個,中間使用逗號(",")間隔

注意:使用foreach增強型遍歷陣列時,當前集合必須規定泛型

第十四章約束

約束 constraint 是一種保證資料完整性的規則。約束設定在單個字段或者多個字段組合上,寫入這些欄位的行資料必須要符合約束的規則 約束的五種型別 not null 非空約束,指定某列的所有行資料不能包含空值 unique 唯一性約束,指定列或者列的組合的所有行資料必須唯一 primary ke...

第十四章 約束

第十四章 約束 練習1 1.學校有乙個選課系統,其中包括如下關係模式 系 系編號 主鍵,系名稱 唯一鍵,系主任 非空約束,系所在校去 取值範圍只能在南湖校區和渾南校區 create table xi xi no varchar2 10 primary key,xi name varchar2 10 ...

C 《C Primer 》第十四章

可以被過載 不可以被過載 new new delete delete 是否是成員函式 ostream operator ostream os,const item istream operator istream is,data item class strvec const std string ...