集合体系组织的根接口是Collection,它是API1.2以后版本出现的,最原始的集合容器是Vector,它是API1.0版本的。取集合元素用的是枚举:Enumeration,1、2以后版本出现了集合体系,并把Vector编制到里面,Collection下的集合还有List和Set两大体系。 List是链表结构,最大特点是有索引。可以对元素进行增删改查,去元素的方法是使用迭代器,是用集合.iterator()方法来取的。它体系下面有两个子类,一个是LinkedList,一个是ArrayList,LinkedList是链表结构,也有索引,它增删快,改查慢,并且是不同步的。LinkedList取元素的方法是用Linkiterator,因为该方法可以在迭代的时候对集合元素进行增删。ArrayList改查快,增删慢,因为其底层是数组结构,并且是可变长度的数组。 TreeSet:对集合元素进行排序有两种方法,一个是让元素自身具备比较性,实现Comparable接口,然后复写comparaTo()方法。 第二种方式是:让集合具备比较性,传入比较器,让比较器的类实现Comparator接口,并复写compara()方法。 使用集合泛型限定时,存元素使用上限限定,取元素时使用泛型下限限定。当集合中使用的方法都是Object方法时,就使用通配符。 Map集合是用来存储键值对的,在查表法中比较常见。子类有HashMap和TreeMap,类似于Set集合中的HashSet和TreeSet. 可以通过键获取值,也可以通过把Map集合转成Set集合,使用迭代器来获取其中的键和值。
|