黑马程序员_集合(1)

来源:互联网 发布:如何注册淘宝企业商铺 编辑:程序博客网 时间:2024/06/10 01:01

——- android培训、java培训、期待与您交流! ———-
一.数组与集合:
(1)数组:可以存储基本数据类型,也可以存储对象,但长度是固定的.
(2)集合:只能存储对象,但长度是可变的。

二.在集合框架的类层次体系中,最顶层有两个接口:
(1)Collection:表示一组对象,这些对象也称为 collection 的元素;即表示一组纯数据。
(2)Map:将键映射到值的对象;即表示一组key-value对。

三.Collection接口:

1.List接口:
(1)有序的 collection.
(2)通常允许重复的元素.即列表通常允许满足 e1.equals(e2) 的元素对 e1 和 e2,并且如果列表本身允许 null 元素的话,通常它们允许多个 null 元素。
(3)此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。
(4)实现List接口的有:ArrayList,LinkedList,Vector等.
(5)取出元素方式:

        ArrayList<String> al=new ArrayList<String>();        al.add("java01");        al.add("java02");        al.add("java03");        /*         *Collection接口通用取出元素方式,在迭代过程中,         *只能访问元素,不能操作元素         */        Iterator<String> iter=al.iterator();        while(iter.hasNext())        {            System.out.println(iter.next());        }        ArrayList<String> al=new ArrayList<String>();        al.add("java01");        al.add("java02");        al.add("java03");        /*         *List接口特有取出元素方式,在迭代过程中,可以操作元素.         * public ListIterator<E> listIterator()         * public ListIterator<E> listIterator(int index)         */        ListIterator<String> iter=al.listIterator();        while(iter.hasNext())        {            al.add("java04");            System.out.println(iter.next());        }

2.Set接口:
(1)无序的Collection。
(2)不包含重复元素的 collection.即set 不包含满足 e1.equals(e2) 的元素对 e1 和 e2,并且最多包含一个 null 元素。
(3)实现Set接口的类有HashSet,TreeSet.
(4)取出元素方式:

        HashSet<String> al=new HashSet<String>();        al.add("java01");        al.add("java02");        al.add("java03");        Iterator<String> iter=al.iterator();        while(iter.hasNext())        {            System.out.println(iter.next());        }

四:Map接口:
(1)将键映射到值的对象。
(2)一个映射不能包含重复的键;每个键最多只能映射到一个值。
(3)Map 接口提供三种collection 视图,允许以键集、值集或键-值映射关系集的形式查看某个映射的内容。
(4)实现Map接口的类有:HashMap,TreeMap,HashTable等。
(5)取出元素方式:

    Map<String,String> map=new HashMap<String,String>();    map.put("01","java01");    map.put("02","java02");    map.put("03","java03");    /*     * Set<K> keySet()     * 返回此映射中包含的键的 Set 视图。           * */    Set<String> keySet=map.keySet();    Iterator<String> iter=keySet.iterator();    while(iter.hasNext())        {        String key=iter.next();        String value=map.get(key);        System.out.println(key+"="+value);                  }    /*    * Set<Map.Entry<K, V>> entrySet()    * 返回此映射中包含的映射关系的 Set 视图。    * */    Set<Map.Entry<String,String>> entrySet=map.entrySet();    Iterator<Map.Entry<String,String>> iter2=entrySet.iterator();    while(iter2.hasNext())    {        Map.Entry<String,String> me=iter2.next();        String key=me.getKey();        String value=me.getValue();        System.out.println(key+"="+value);      }    /*     * Collection<V> values()     * 返回此映射中包含的值的 Collection 视图.     * */    Collection<String> values=map.values();    Iterator<String> iter3=values.iterator();    while(iter3.hasNext())    {        System.out.println(iter3.next());    }
0 0