Java集合

集合與數組

數組:(能夠存儲基本數據類型)是用來存現對象的一種容器,可是數組的長度固定,不適合在對象數量未知的狀況下使用。java

集合:(只能存儲對象,對象類型能夠不同)的長度可變(動態的數組),可在多數狀況下使用。數組

 

集合的分類:

在java集合中,集合分了兩個大的接口,分別爲:Collection接口和Map接口。spa

Collection接口又分爲:List接口和Set接口。分別由不一樣的子類來實現。code

集合的方法:

我先建立一個ArrayList對象,用ArrayList來講明一下集合裏面的基本方法:對象

Collection coll = new ArrayList();

 

(1)、size()方法:返回集合中元素個數blog

System.out.println(coll.size());

 

(2)、add(Object obj):向集合中添加一個元素(注:如今我沒有使用泛型,因此不一樣類型的數據都能添加到集合中)接口

coll.add("AA");
coll.add(new Date());
coll.add(123);
coll.add('B');

 

(3)、addAll(Collection coll):將形參coll中包含的全部元素添加到當前集合中rem

Collection coll1 = Arrays.asList(1,2,3);
coll.addAll(coll1);

這裏是將coll1集合裏面的元素所有添加到coll集合當中。get

 

(4)、isEmpty():判斷集合是否爲空,返回true 或者 false數學

System.out.println(coll.isEmpty());

 

(5)、clear():清空集合元素

coll.clear();

 

(6)、contains(Object obj):判斷集合是否包含指定的obj元素,若是包含,返回true,不然返回flase

boolean b1 = coll.contains("AA");
System.out.println(b1);

 

(7)、containsAll(Collection coll):判斷當前集合是否包含coll中全部的元素

Collection coll2 = new ArrayList();
coll2.add(123);
coll2.add('B');
boolean b2 = coll.containsAll(coll2);
System.out.println(b2);

這裏是coll裏面的元素是否包含coll2集合裏面的所有元素,若包含所有元素,則返回true,不然返回false。

 

(8)、retainAll(Collection coll):求當前集合與coll的共有的元素,返回給當前集合(就至關於數學的交集)

coll.retainAll(coll2);
System.out.println(coll);

 

(9)、remove(Object obj):刪除集合中的obj元素。若刪除成功,返回true;不然返回false。

boolean b3 = coll.remove(123);

 

(10)、removeAll(Collection coll):從當前集合中刪除包含在coll中的元素。(至關於數學集合的差)

coll.removeAll(coll2);

 

(11)、toArray():將集合轉化爲數組

Object[] obj = coll.toArray();
for(int i=0;i<obj.length;i++){
    System.out.println(obj[i]);
}

 

集合的遍歷方法:

Collection接口的遍歷方法:

方法一:使用迭代器Iterator實現集合的遍歷

Collection coll = new ArrayList();
coll.add(123);
coll.add(456);
coll.add(789);
coll.add("AA");
//iterator:返回一個Iterator接口實現類的對象,迭代器Iterator實現集合的遍歷
Iterator i = coll.iterator();
while(i.hasNext()){
    System.out.println(i.next());
}

 

方法二:使用加強for循環實現集合(數組)的遍歷

Collection coll = new ArrayList();
coll.add(123);
coll.add(456);
coll.add(789);
coll.add("AA");
//加強for循環實現集合的遍歷
for(Object i:coll){
    System.out.println(i);
}


String[] str = new String[]{"AA","BB","CC"};
//遍歷的類型 +變量 :遍歷的數組
for(String i:str){
    System.out.println(i); 
}

 

Map接口的遍歷方法:

(1)、Set keySet():遍歷 key 集

//遍歷 key 集
Set set = map.keySet();
for(Object obj1 : set){
    System.out.println(obj1);
}

 

(2)、Collection values():遍歷value 集

//遍歷value 集
Collection values = map.values();
Iterator i = values.iterator();
while(i.hasNext()){
    System.out.println(i.next());
}

 

(3)、Set entrySet():遍歷"key-value"對

//遍歷"key-value"對
        
//方式一
Set set1 = map.keySet();
for(Object obj2 : set1){
    System.out.println(obj2 + "---->"+map.get(obj2));
}
        
//方式二:
Set set3 = map.entrySet();
for(Object obj3 : set3){
    Map.Entry entry = (Map.Entry) obj3;
//    System.out.println(entry.getKey() + "---->" + entry.getValue());
    System.out.println(entry);
}
相關文章
相關標籤/搜索