java集合類

來源:互聯網
上載者:User

java集合類
Collection類集合可以理解為一個動態數組,集合中的對象可以任意擴充. 集合的特點:效能高;容易擴充。 Collection的常用子類有:List、Set、Map一、List介面

list介面可以存放任意類型的資料,而且在List介面中內容可以重複。
List介面常用子類有:ArrayList、Vector。

1.1ArrayList

下面的Demo中展示了怎樣建立ArrayList對象、添加元素、訪問元素、移除元素。

package ucas.collection.demo;import java.util.ArrayList;import java.util.List;public class ListDemo {    public static void main(String[] args) {        List lists = null;        lists = new ArrayList();// list可重複        // 添加        lists.add("A");        lists.add("B");        lists.add("A");        for (int i = 0; i < lists.size(); i++) {            System.out.println(lists.get(i));        }        System.out.println("判斷集合lists是否為空白:"+lists.isEmpty());        //返回第一次出現的位置        System.out.println("A是否存在:"+lists.indexOf("A"));        // 移除        lists.remove(0);        System.out.println("移除第一項以後:");        for (int i = 0; i < lists.size(); i++) {            System.out.println(lists.get(i));        }    }}
1.2Vector

Vector和ArrayList在使用上一樣,區別主要在於內部實現上的效能與是否是安全執行緒上:

比較項 ArrayList Vector
推出時間 jdk1.2 jdk1.0
處理方式 採用非同步處理方式,效能高 採用同步處理方式,效能低
是否是安全執行緒 非安全執行緒 安全執行緒

VectorDemo

package ucas.collection.demo;import java.util.List;import java.util.Vector;public class VectorDemo {    public static void main(String[] args) {        // ArrayList jdk1.2之後推出,採用非同步處理方式,效能高,屬於非安全執行緒;        //Vector jdk1.0之後推出, 採用同步處理方式,效能低,屬於安全執行緒。        //方法使用都一樣        List lists = null;        lists = new Vector();        lists.add("A");        lists.add("B");        for (int i = 0; i < lists.size(); i++) {            System.out.println(lists.get(i));        }    }}
二、Set介面

Set介面中不可以加入重複元素,但是可以排序 。Set常用子類 有2個,散列存放使用HashSet ,有序存放使用TreeSet。

package ucas.collection.demo;import java.util.HashSet;import java.util.Iterator;import java.util.Set;import java.util.TreeSet;public class SetDemo {    public static void main(String[] args) {        /*         * Set介面中不可以加入重複元素,但是可以排序 Set常用子類 散列存放:HashSet          * 有序存放:TreeSet         */        Set s = null;        s = new TreeSet();        s.add("B");        s.add("A");        s.add("C");        s.add("D");        s.add("E");        s.add("F");        s.add("G");        System.out.println(s);    }}

輸出:

[A, B, C, D, E, F, G]

HashSet:

package ucas.collection.demo;import java.util.HashSet;import java.util.Set;public class HashSetDemo {    public static void main(String[] args) {          Set hs=new HashSet();          hs.add("two");          hs.add("one");          hs.add("three");          hs.add("four");          hs.add("five");          hs.add("six");          System.out.println(hs);    }}

輸出

[six, four, one, two, three, five]
三、Map介面

Map介面採用key->value的方式儲存
常用子類:
HashMap:無序存放,key值不允許重複
HashTable:無序存放,key值不允許重複

package ucas.collection.demo;import java.util.Collection;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;public class MapDemo01 {    public static void main(String[] args) {        Map map = new HashMap();        map.put("key1", "java進階1");        map.put("key2", "java進階2");        map.put("key3", "java進階3");        map.put("key4", "java進階4");        map.put("key5", "java進階5");        map.put("key6", "java進階6");        System.out.println(map.get("key1"));        // 判斷key值是否存在        if (map.containsKey("key12")) {            System.out.println("key存在");        } else {            System.out.println("key不存在");        }        // 判斷value是否存在        if (map.containsValue("java進階5")) {            System.out.println("value值存在");        } else {            System.out.println("value值不存在");        }        // Iterator迴圈輸出        System.out.println(map.keySet());        Set s = map.keySet();        Iterator iter = s.iterator();        while (iter.hasNext()) {            System.out.println(iter.next());        }        // 擷取全部值        Collection c = map.values();        Iterator iter2 = c.iterator();        while (iter2.hasNext()) {            System.out.println(iter2.next());        }    }}
Iterator

Iterator用於迭代輸出集合中的元素,迭代輸出就是將元素一個一個進行判斷,判斷有內容則把內容取出。

package ucas.collection.demo;import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class IteratorDemo {    public static void main(String[] args) {        List lists = new ArrayList();        lists.add("Q");        lists.add("W");        lists.add("E");        lists.add("A");        lists.add("B");        Iterator iter = lists.iterator();        while (iter.hasNext()) {            // lists.remove(1);Iterator迭代輸出集合的過程中不能刪除元素,否則會出現錯誤            System.out.println(iter.next());        }    }}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.