注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

千鸟

本blog所有日志均系原创 转载请注明出处

 
 
 

日志

 
 

总结常用java 数据结构和工具(未完)  

2007-03-15 22:19:05|  分类: J2SE |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

  A. 先看看集合的关系 

    Collection<--List<--Vector<--Stack
        Collection<--List<--ArrayList
        Collection<--List<--LinkedList
        Collection<--Set<--HashSet<--LinkedHashSet
        Collection<--Set<--SortedSet<--TreeSet

 

Vector:可以实现可增长的对象数组。与数组一样,它包含可以使用整数索引进行访问的组件。但是,Vector

的大小可以根据需要增大或缩小,以适应创建Vector后进行添加或移除项的操作

Vector 的 iterator 和 listIterator 方法所返回的迭代器是快速失败的

Stack:表示后进先出(LIFO)的对象堆栈 

Set:接口. 不允许重复的元素.

ArrayList: 不用说,顺序表适合按顺序查找

LinkedList:不用说,链式表适合大量插入删除的时候用
    LinkedHashSet: 具有可预知迭代顺序的 Set 接口的哈希表和链接列表实现。此实现与 HashSet 的不同之外在于,后者维护着一个运行于所有条目的双重链接列表.此链接列表定义了迭代顺序,即按照将元素插入到集合中的顺序(插入顺序)进行迭代

TreeSet: 此类实现 Set 接口,该接口由 TreeMap 实例支持。此类保证排序后的 set 按照升序排列元素,根据使用的构造方法不同,可能会按照元素的自然顺序 进行排序(参见 Comparable),或按照在创建 set 时所提供的比较器进行排序

List: 接口.用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素.允许重复的元素.

B.Map<--Hashtable<--Properties

  Map<--HashMap

Hashtable :用于储存键值对,Hashtable<v,k> ,键名相同的一组Hashtable,值会被覆盖.Hashtable是同步的

 eg:  Hashtable numbers = new Hashtable();
          numbers.put("one", new Integer(1));

     Integer n = (Integer)numbers.get("two");
         if (n != null) {
         System.out.println("two = " + n);
          }

一个有趣的eg: 比较两个字符串是否相等

  HashSet set=new HashSet();
      String a="abc";
      String b="abc";
      set.add(a);
      set.add(b);
      System.out.print(set.size()>1); 


  Properties:是Hashtable的子类,要求,键/值都是String

HashMap:除了不同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同

C.ListIterator<--Iterator 

Iterator:对集合进行迭代的迭代器 

eg:   List users = new ArrayList();
        users.add("zhangsan");
        users.add("lisi");
         Iterator its = users.iterator();
        while(its.hasNext())
       {
        System.out.println(its.next()+"\n"); 
       }

 输出以下字符串:   zhangsan
                        lisi

D.Data

取得当前时间的值,并保存起来

eg:   Date date=new Date();
      System.out.print(date+"\n");
      System.out.print("从1970 Jan.1 到现在是:"+date.getTime()+" 毫秒\n");
      try{     
      Thread.sleep(200);
      }catch(Exception e){}
      System.out.print(date);

输出:Fri Mar 16 19:26:56 CST 2007
         从1970 Jan.1 到现在是:1174044416781 毫秒
         Fri Mar 16 19:26:56 CST 2007

E.BitSet

此类实现了一个按需增长的位向量。位 set 的每个组件都有一个boolean值。用非负的整数将BitSet

的位编入索引。可以对每个编入索引的位进行测试、设置或者清除。通过逻辑与、逻辑或和逻辑异或操作,可以使用一个BitSet修改另一个BitSet的内容。

Iterator:对集合进行迭代的迭代器

F: Currency

    eg:  Currency c=Currency.getInstance(Locale.CHINA);
         System.out.print(c.getSymbol()+"\n");
         System.out.print("最小数位"+c.getDefaultFractionDigits());

    输出以下字符串:

       ¥
           最小数位2

  评论这张
 
阅读(509)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017