Iterator常用类演示//数组迭代Iteratoritr=al.iterator();//如果仍有元素可以迭代,则返回true//循环while(itr.hasNext()){??//?对象,返回迭代的下一个元素。Objectelement=itr.next();//打印System.out.print(element);}第31页,共67页,星期日,2025年,2月5日HashSet类java.util
类HashSetEjava.lang.Objectjava.util.AbstractCollectionEjava.util.AbstractSetEjava.util.HashSetE此类实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用null元素。第32页,共67页,星期日,2025年,2月5日HashSet类方法?intsize()
??????????返回此set中的元素的数量(set的容量)。?booleanadd(E?e)
??????????如果此set中尚未包含指定元素,则添加指定元素。?voidclear()
??????????从此set中移除所有元素。BooleanisEmpty()
??????????如果此set不包含任何元素,则返回true。第33页,共67页,星期日,2025年,2月5日HashSet类方法示例HashSeths=newHashSet();hs.add(ok);hs.remove(ok);System.out.print(hs.size());System.out.print(hs);第34页,共67页,星期日,2025年,2月5日Hashtable类java.util
类HashtableK,Vjava.lang.Objectjava.util.DictionaryK,Vjava.util.HashtableK,V此类实现一个哈希表,该哈希表将键映射到相应的值。任何非null对象都可以用作键或值。第35页,共67页,星期日,2025年,2月5日Hashtable类如果很多条目要存储在一个Hashtable中,那么与根据需要执行自动rehashing操作来增大表的容量的做法相比,使用足够大的初始容量创建哈希表或许可以更有效地插入条目。初始容量主要控制空间消耗与执行rehash操作所需要的时间损耗之间的平衡。如果初始容量大于Hashtable所包含的最大条目数除以加载因子,则永远不会发生rehash操作。但是,将初始容量设置太高可能会浪费空间。第36页,共67页,星期日,2025年,2月5日Hashtable类方法?Vput(K?key,V?value)
????将指定key映射到此哈希表中的指定value。EnumerationKkeys()
??????????返回此哈希表中的键的枚举。?intsize()
???????返回此哈希表中的键的数量。StringtoString()
??????返回此Hashtable对象的字符串表示形式,其形式为ASCII字符,?(逗号加空格)分隔开的、括在括号中的一组条目。Object.hashCode()返回一个叫闪列码的值。第37页,共67页,星期日,2025年,2月5日Hashtable类方法实例Hashtableht=newHashtable();ht.put(okok,newDouble(12.33));System.out.print(ht);}第38页,共67页,星期日,2025年,2月5日properties类Properties类表示了一个持久的属性集。Properties可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。一个属性列表可包含另一个属性列表作为它的“默认值”;如果未能在原有的属性列表中搜索到属性键,则搜索第二个属性列表。因为Properties继承于Hashtable,所以可对Properties对象应用put和putAll方法。但不建议使用这两个方法,因为它们允许调用者插入其键或值不是String的项。相反,应该使用setProperty方法。如果在“不安全”的P