论坛首页 入门技术论坛

Java 集合学习

浏览 1342 次
精华帖 (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());
  }
     
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics