陣列與集合的區別: 1
、陣列:
1、長度不能改變。
2.存放同一型別的資料。
集合:1. 長度可變。
2.存放不同型別的資料。
vector: add(); get(); size();
2、內容維護:
add( )
新增乙個集合時,相當於新增了乙個陣列。
addall( )
把乙個集合新增到另乙個集合中,作為集合的元素。
remove( )
接受整型,索引自動變,刪除時,先刪除後面的,在刪除前面的。
clear( )
和new
乙個物件出來的區別就是前面的不佔記憶體,後面的佔記憶體。
toarray();
3、內容查詢:
indexof( )
返回索引,不存在返回-1;
contains( )
判斷是否包含某個值。
size( )
求大小。
lastindexof( )
get( )
取值。isempty( );
4、在集合中新增乙個物件時,必須重寫
equals
()方法。 5
、給集合中新增乙個整型時如:
vector v=new vector( );
v.add(12); int a=((integer)v.get(0)).intvalue();
int a=(integer)v.get(0);
這個主要取決於
jdk的版本。 6
、泛型限制了集合的功能。
vector v=new vector( );
for(strings:v)//
這個迴圈只能用於泛型。 7
、集合框架包括
collection
和map
collection
介面包含
list
和set : list
中又包括
vector(
執行緒安全,
get()
方法的執行效率高).、
arraylist
(用於不經常修改的集合,
get()
方法的執行效率高)(前兩者用於經常不修改的集合)、
linkedlist
(鍊錶結構,執行增,刪,修改效率高。但
get()
方法的執行效率低)
.set
集合使用的是雜湊演算法,使用的是二維陣列進行儲存雜湊碼(通過餘
10來獲得雜湊碼),呼叫
set方法時,要呼叫
hashcode( )
方法和equals( )
方法。set
不能有重複的值出現。 重寫
hashcode
方法:1
,兩個物件的
hashcode
不相等,兩個物件肯定不相等。 2
,兩個物件的
hashcode
相等,兩個物件不一定相等。
3,最終通過
equals()
確定。
hashset(
無序排列
) hashset set=new hashset( );
set.add(「abc」); set.add(「abdc」); for(string s:set)
map使用的是鍵值對,鍵重複就會被覆蓋。
map map=new map( );
map.put(「china」,」
中國」); map.get(「china」);map.size( );
map集合遍歷;
setkeys=map.keyset( );
for(string key:keys)
hashmap(
執行緒非安全,允許
key為
null),hashtable(
執行緒安全,
key不能為
null);
8、工具類
collections
方法有:
sort
();binarysearch();emptyset();max();min();
replaceall();reverse()
倒排序;
shuffle
()隨機亂序。
集合小總結
學完list 和 set 簡單 的說 就是我們在定義乙個自定義型別時 需要複寫 object 中的 public boolean equals object a 此處不能用泛型 arraylist 可以重複同linkedlist 中如果要去重的話。public int hashcode hashse...
集合小例子
解題分析 1.先宣告乙個set集合 2.泛型設為double 3.用math方法來隨機儲存數字 4.集合中的collections方法找最大值和最小值 具體 如下 public static void main string args system.out.println system.out.pr...
小概念集合
1 特殊功能暫存器和一般的ram的區別。二者都是計算機進行功能擴充套件和優化的組成部分 1 訪問方式都可以進行實體地址的訪問 voliatile unsigned int 0xc0011000 2 二者讀寫許可權不相同。常見的ram是可以可寫的,但是暫存器的許可權是不進行通 3 讀寫的效果不相同 常...