JAVA集合架構

來源:互聯網
上載者:User

標籤:一個   AC   順序   元素對象   rem   使用   linked   move   強制類型轉換   

JAVA集合架構

Collection介面:儲存一組不唯一、無序的對象

List介面儲存一組不唯一、有序(插入順序)的對象

Set介面儲存一組唯一、無序的對象.

List

在樣本中,首先建立了狗狗對象,並通過Set賦值。

//建立dog對象        Dog dog1=new Dog();        dog1.setName("小草1");        dog1.setStrain("拉布拉多");        Dog dog2=new Dog();        dog2.setName("小花2");        dog2.setStrain("泰迪");

然後通過List建立集合對象:

    List<Dog> list=new ArrayList<Dog>();
    list.add(dog1);
    list.add(dog2);

list.size()方法可以判斷實際元素的個數,把值賦值給一個變數並輸出:

int num=list.size();System.out.println(num);

可以通過list.remove();移除數組中的元素,括弧內可以是元素下標,也可以元素對象值。

輸出集合中的元素的方式有3種,分別是:

1、通過for迴圈遍曆輸出集合中的元素

2、使用foreach,增強for迴圈輸出集合中的元素

3、使用迭代器迴圈輸出集合中的元素

首先是for迴圈:

        for (int i = 0; i < list.size(); i++) {            //取出集合中的每一個元素            Object object=list.get(i);            //轉化為真實的子類對象(Dog)            if(object instanceof Dog){            //強制類型轉換            Dog dog=(Dog)object;            //輸出狗的資訊            System.out.println(dog);            }        }

普通for迴圈遍曆集合需要注意的是,在迴圈輸出前,需要使用instanceof關鍵字轉化為真實的子類對象,然後強制類型轉換,輸出狗的資訊。

foreach迴圈

foreach迴圈總得來說比較方便,不可忽視的是仍然需要使用instanceof關鍵字進行判斷。

        for (Object object : list) {            if(object instanceof Dog){            //強制類型轉換            Dog dog=(Dog)object;            //輸出狗的資訊            System.out.println(dog);            }        }

迭代器的使用:

使用Iterator,首先判斷集合中是否有元素,進而得到集合中的每一個值。

        Iterator its=list.iterator();        while (its.hasNext()) {            Object obj = its.next();            System.out.println(obj);        }

程式最終的輸出結果為:

狗的名字        狗的品種小班3        哈士奇小草1        拉布拉多

LinkedList集合操作

LinkedList list=new LinkedList();        list.add(staff1);        list.add(staff2);
list.addFirst(1000);//添加到列表的第一個位置list.removeFirst();//移除第一個list.removeLast();//移除最後一個list.push("222");//增加元素list.poll();//擷取並移除第一個

ArrayList實現了長度可變的數組,在記憶體中分配連續的空間。遍曆元素和隨機訪問元素的效率比較高。

LinkedList的特殊方法:

void addFirst(Object o)    在列表的首部添加元素

void addLast(Object o)    在列表的末尾添加元素

Object getFirst()       返回列表中的第一個元素

Object getLast()       返回列表中的最後一個元素

Object removeFirst()     刪除並返回列表中的第一個元素

Object removeLast()     刪除並返回列表中的最後一個元素

ArrayList和LinkedList分別在何時使用?

ArrayList:

遍曆元素和隨機訪問元素的效率比較高

插入、刪除等操作頻繁時效能低下

LinkedList

插入、刪除元素時效率較高

尋找效率較低

集合泛型的樣本:

                //要求放入INT類型的資料  Integer        List<Integer> list=new ArrayList<Integer>();    

valueOf方法,把數字轉換成字串

        list1.add(String.valueOf(1000));

泛型要求添加資料,必須是指定的資料類型。

JAVA集合架構

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.