8.3 新集合

    xiaoxiao2025-06-09  35

    对应第8章新集合部分

    新集合主要包含两个明确的概念: 1、集合(Collection):存储一组单独的元素,有两个子类:其中List(列表)按顺序容纳元素,而Set(集)不包含任何重复元素。 2、映射(Map):存储“键–值”对,Map可以返回存储key的一个Set,一个包含value值的List,或包含“键–值”对的List。 Map可以扩展到多维,Map里包含其他Map即可。

    主要看:Collection,List,Set,Map,Iterator ,Comparable

    1、Collection接口

    Collection是最基本集合接口,它定义了一组允许重复的对象。Collection接口派生了两个子接口Set和List

    2、 Set接口

    Set接口继承于Collection接口,它没有提供额外的方法,但实现了Set接口的集合类中的元素是无序且不可重复。 特征:无序且不可重复。

    3、 List接口

    List接口同样也继承于Collection接口,List接口的集合类中的元素是有序且可重复。 两个重要的实现类:ArrayList和LinkedList 1.ArrayList特点是有序可重复的 2.LinkedList是一个双向链表结构的。

    4、Map接口

    Map也是接口,该接口描述了从不重复的键到值的映射。Map接口用于维护键/值对(key/value pairs)。 特征:它描述了从不重复的键到值的映射。 两个重要的实现类:HashMap和TreeMap 1.HashMap,中文叫散列表,基于哈希表实现,特点就是键值对的映射关系。一个key对应一个Value。HashMap中元素的排列顺序是不固定的。更加适合于对元素进行插入、删除和定位。 2.TreeMap,基于红黑书实现。TreeMap中的元素保持着某种固定的顺序。更加适合于对元素的顺序遍历。

    5、反复器(Iterator)

    是枚举类(Enumeration)的升华,更好用。 任何集合都可以生成一个反复器,用 iterator()方法,且生成的反复器与原对象互为引用 方法有: hasNext() next() remove()

    // 线性表pets List<Pet> pets = Pets.arrayList(12); // 遍历线性表 for(Pet p : pets) System.out.print(p.id() + ":" + p + " "); System.out.println(); // 由线性表pets生成的反复器it Iterator<Pet> it = pets.iterator(); // 遍历反复器 while(it.hasNext()) { Pet p = it.next(); System.out.print(p.id() + ":" + p + " "); } System.out.println(); // An Iterator can also remove elements: // 此处是引用,如果it变则pets也变 it = pets.iterator(); for(int i = 0; i < 6; i++) { it.next(); it.remove(); } System.out.println(pets); // 注意,在最后一轮循环后,输出的pets只剩6个元素了

    6、Comparable接口

    Comparable可以用于比较的实现,实现了Comparable接口的类可以通过实现comparaTo方法从而确定该类对象的排序方式。

    参考:http://blog.csdn.net/jiuqiyuliang/article/details/32697903

    转载请注明原文地址: https://ju.6miu.com/read-1299750.html
    最新回复(0)