浏览 1342 次
锁定老帖子 主题:Java 集合学习
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-06-27
最后修改:2009-09-14
1. 集合接口 Collection:允许处理一组对象:位于集合分层结构的顶层 List: 扩展Collection接口来处理序列,即对象列表 Set: 扩展Collection接口来处理对象集合,其中集合元素必须是唯一的 SortedSet: 扩展接口来出来已排序的对象集 2. Collection接口中的方法 Add(Object obj) AddAll(Collection c) Clear() contains(Object obj) equals(Object obj) hashCode() isEmpty() remove() removeAll(Collection c) toArray() iterator(): 返回调用集合的迭代器 3. 集合类 ArrayList 扩展了Abstractlist类,并实现了List接口,它支持按需增长的动态数组,JAVA中的标准数组是固定长度的,一旦创建,就不 能增长或缩小,构造函数为 ArrayList() ArrayList(Collection c) ArrayList(int capacity) 再分配是很耗时的系统操作,可以用ensureCapacity(int capacity)来再分配,还可以用trimToSize()来使容量恰好等于集合中对象的个 数 LinkedList是实现了List接口的一个链表型的数据结构,构造函数 LinkedList() LinkedList(Collection c) 主要方法为 addFirst(Object obj) 将对象添加到链表头部 addLast(Object obj) 将对象添加到链表的尾部 Object getFirst() 得到链表头部的对象 Object getLast() 得到链表尾部的对象 removeFirst(), removeLast() 4. HashTable类 在早期的JAVA版本中,Hashtable类是Dictionary类的具体实现,但Java2中改进了它,实现了Map接口,它是同步的 HashMap 是实现了MAP接口的一个集合类 映射不是集合,它没实现Collection 接口,不能使用迭代进行循环,但是可以 1, 通过entrySet()方法来获得映射集合视图,然后使用MAP.Entry接口的getKey,getValue得到具体的键和值 2. keySet接口得到所有的KEY 3。 VALUES()得到所有的values 5. Hashtable遍历 Hashtable ht =new Hashtable();//不能Map ht=new Hashtable();若加强制转换后,后面方法不能用 ht.put("first", person1); ht.put("second", person2); ht.put("three", person3); Enumeration e=ht.elements(); while(e.hasMoreElements()){ Person person=(Person)e.nextElement(); System.out.println(person.getName()+" "+person.getAge()); } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |