java.U包中的主要类 Hashset类 用散列表实现的set,通常比较适用于那些对内容对规模比较敏感对搜索、插入、删 Tree Set类 使用平衡二叉树实现的 Sortedset,搜索或者修改比 Hash set慢,但是它保持元素有 Arraylist类 使用 实现等List,如果列表比较大,那么,插入或者删除一个接近于开始处大 元素的代价蒋会很大,但是,创建的开销相对小一些,并且随机访问也会 ■ Linkedlist类 实现List的双向链表,在任何规模下,修改所花代价相当小,但是,随机访问是很 慢的。它对队列很有用 a HashMap类 个实现Map对散列表,它是非常有用的集合,查询与插入所花时间比较少 TreeMap类 叉树,通过关键字保持元素有序的 SortedMap实现。对于那些需要通过关 键字进行快速查询的有序数据集有用 WeakHashMap类 通过弱引用对象引用关键字的实现Map的散列表,它只在一些有限的情况下有用 2021/2/20 java面向对象程序设计教程
2021/2/20 Java面向对象程序设计教程 6 java.util包中的主要类 ◼ HashSet类 使用散列表实现的Set,通常比较适用于那些对内容对规模比较敏感对搜索、插入、删 除等操作。 ◼ TreeSet类 使用平衡二叉树实现的SortedSet,搜索或者修改比HashSet慢,但是它保持元素有 序。 ◼ ArrayList类 使用可变数组实现等List,如果列表比较大,那么,插入或者删除一个接近于开始处大 元素的代价将会很大,但是,创建的开销相对小一些,并且随机访问也会快一些。 ◼ LinkedList类 一个实现List的双向链表,在任何规模下,修改所花代价相当小,但是,随机访问是很 慢的。它对队列很有用。 ◼ HashMap类 一个实现Map对散列表,它是非常有用的集合,查询与插入所花时间比较少。 ◼ TreeMap类 使用平衡二叉树,通过关键字保持元素有序的SortedMap实现。对于那些需要通过关 键字进行快速查询的有序数据集有用。 ◼ WeakHashMap类 通过弱引用对象引用关键字的实现Map的散列表,它只在一些有限的情况下有用
82 Collection与 Iterator
8.2 Collection与Iterator
Collection接口 package java. util public interface Collection t int size o; boolean isEmpty o: boolean contains(object o); Iterator iterator( objectl toArray Object[] toArray(object a[]) boolean add(object o); boolean remove(object o) boolean containsAll ( Collection c) boolean addAll( collection c); boolean removeAll( Collection c); boolean retainAll( Collection c); void clear: boolean equals(object o) int hashCode( 2021/2/20 java面向对象程序设计教程
2021/2/20 Java面向对象程序设计教程 8 Collection接口 package java.util; public interface Collection { int size(); boolean isEmpty(); boolean contains(Object o); Iterator iterator(); Object[] toArray(); Object[] toArray(Object a[]); boolean add(Object o); boolean remove(Object o); boolean containsAll(Collection c); boolean addAll(Collection c); boolean removeAll(Collection c); boolean retainAll(Collection c); void clear(); boolean equals(Object o); int hashCode(); }
单元素添加、删除操作 boolean add(object o) 先确定集合是否包含有对象O,如果需要添加该对 象则返回true。如果集合允许重复,add方法总 是返回true。如果不允许重复,并已经有一个相 等的元素在集合中,则add方法返回 false。 boolean remove(object o) 如果集合中有与O相匹配的对象,则删除对象O 并返回true;反之返回fase。如果O为null,并 且集合中也有一个元素为nu,也返回true 2021/2/20 java面向对象程序设计教程
2021/2/20 Java面向对象程序设计教程 9 单元素添加、删除操作 ◼ boolean add(Object o) 先确定集合是否包含有对象o,如果需要添加该对 象则返回true。如果集合允许重复,add方法总 是返回true。如果不允许重复,并已经有一个相 等的元素在集合中,则add方法返回false。 ◼ boolean remove(Object o) 如果集合中有与o相匹配的对象,则删除对象o, 并返回true;反之返回false。如果o为null,并 且集合中也有一个元素为null,也返回true
查询操作 int size 返回当前集合中元素的数量 a boolean is empty 判断集合中是否有任何元素。 boolean contains(object o) 查找集合中是否含有对象O Iterator iterator 返回一个迭代器,用来访问集合中的各个 元素。 2021/2/20 java面向对象程序设计教程
2021/2/20 Java面向对象程序设计教程 10 查询操作 ◼ int size() 返回当前集合中元素的数量。 ◼ boolean isEmpty() 判断集合中是否有任何元素。 ◼ boolean contains(Object o) 查找集合中是否含有对象o。 ◼ Iterator iterator() 返回一个迭代器,用来访问集合中的各个 元素