天天看點

day16【集合】day16【集合】

day16【集合】

Collection 層次結構中的根接口。Collection 表示一組對象,這些對象也稱為 collection 的元素。

集合的長度是可變的。

集合隻能儲存對象

兩大系列:

Collection 和 Map

一組對象 鍵值對

添加

集合名.size 集合中目前的元素數

集合名.addAll 添加另一個集合的全部元素

add(E obj):添加元素對象到目前集合中

移除

remove方法 吸收一個object型參數,需要調用equals方法比對元素 如果找到則移除,如果找到多個 隻會移除第一個。

removeall 移除所有。

clear 清除所有元素

contains 在集合中搜尋參數元素 找到傳回true 沒有傳回false

public class TwoTest {
    public static void main(String[] args) {
        Collection coll = new ArrayList();// 集合在聲明的時候無需給出長度,長度可以随元素數量的增加而增加。
        // System.out.println(coll.size());// 集合中目前的元素數。
        coll.add("Tom");// 向集合中添加元素。
        coll.add("Jerry");
        coll.add("Mary");
        coll.add("SanMao");
//        System.out.println(coll.size());
//        coll.clear();// 清楚集合中所有的元素。
//        System.out.println(coll.size());

        boolean flag = coll.contains("Tom1");// 在集合中搜尋參數元素,如果找到傳回true,如果沒有找到傳回false。
        // System.out.println(flag);

        boolean flag1 = coll.isEmpty();// 傳回目前集合是否為空,true代表空,false代表集合中有元素。
           

轉為數組**

(1)Object[] toArray():傳回包含目前集合中所有元素的數組

Iterator疊代器

想要周遊Collection集合,那麼就要擷取該集合疊代器完成疊代操作,下面介紹一下擷取疊代器的方法:

  • public Iterator iterator()

    : 擷取集合對應的疊代器,用來周遊集合中的元素的。
  • public E next()`:傳回疊代的下一個元素。
  • public boolean hasNext()

    :如果仍有元素可以疊代,則傳回 true。
while(iter.hasNext()){// 疊代器疊代
    Object o = iter.next();// next()方法傳回Object類型。
    String s = (String)o;
    System.out.println(s);
}
           

疊代器對象,哪個集合對象調用的iterator方法産生的疊代器就疊代哪個集合

Collection接口的重要方法:

add(Object obj);// 添加一個元素
addAll(Collection coll);// 添加一個集合
remove(Object obj);// 移除一個元素
removeAll(Collection coll);// 移除一個集合中的所有元素
size();// 目前集合中的元素數。
clear();// 清楚集合中的所有元素
isEmpty();// 判定目前集合是否為空
iterator();// 傳回一個疊代目前集合的疊代器
           

Collection接口的周遊:

// 第一種方式疊代器周遊
Iterator iter = coll.iterator();// 得到疊代器對象
while(iter.hasNext()){
    Object obj = iter.next();// next()方法傳回的一定是一個Object對象
    String s = (String)obj;
}

// 增強for循環周遊
for(Object obj : coll){
    Sting s = (String)obj;
}
           

==========================================================================================

List集合

  1. java.util.List

    接口繼承自

    Collection

    接口,是單列集合的一個重要分支,習慣性地會将實作了

    List`接口的對象稱為List集合。
  2. List集合所有的元素是以一種線性方式進行存儲的。
  3. 它是一個元素存取有序的集合。
  4. 它是一個帶有索引的集合(有下标)
  5. 集合中可以有重複的元素,通過元素的equals方法,來不叫是否為重複元素。

List接口中常用方法

add()添加元素,如有兩個參數:第一個參數為要插入的下标,第二個為元素。插入後所有元素後移一位。

list.add("孫悟空");
list.add(1,"貝吉塔");//指定下标添加元素
           

add all()指定位置插入一個集合

remove() 删除指定索引位置的元素

list.remove(2);
list.remove("孫悟空");
           

removeAll ()删除一個集合

set(索引,新元素)替換指定索引位置的元素

int index = 集合.indexof(" ") 尋找第一個出現的元素索引位置

get ()取指定下标的單個元素

list subList( , )從第一個參數位置開始截取到第二個參數的前一位。

list.indexof (“孫悟空”) 在集合中搜尋第一個出現該元素的下标

list.lastIndexof 最後一個該元素的下标

常用方法

/*
void add(int index, Object ele):在index位置插入ele元素
boolean addAll(int index, Collection eles):從index位置開始将eles中的所有元素添加進來
Object get(int index):擷取指定index位置的元素
int indexOf(Object obj):傳回obj在集合中首次出現的位置
int lastIndexOf(Object obj):傳回obj在目前集合中末次出現的位置
Object remove(int index):移除指定index位置的元素,并傳回此元素
Object set(int index, Object ele):設定指定index位置的元素為ele
List subList(int fromIndex, int toIndex):傳回從fromIndex到toIndex位置的子集合

總結:常用方法
增:add(Object obj)
删:remove(int index) / remove(Object obj)
改:set(int index, Object ele)
查:get(int index)
插:add(int index, Object ele)
長度:size()
周遊:① Iterator疊代器方式
     ② 增強for循環
     ③ 普通的循環

     */
           

List接口的周遊

//疊代器周遊
Iterator iter = list.iterator();
while(iter.hasNext()){
    String s = (String)iter.next();
    System.out.println(s);
}
//增強for循環周遊
for(Object obj : list){
    String s = (String)obj;
    System.out.println(s);
}
//傳統for循環
for(int i = 0 ;i<list.size(); i++){
    String s = (String)list.get(i);
    System.out.println(s);
}