首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 求职招聘 论文下载
2011中考 | 2011高考 | 2012考研 | 考研培训 | 在职研 | 自学考试 | 成人高考 | 法律硕士 | MBA考试
MPA考试 | 中科院
四六级 | 职称英语 | 商务英语 | 公共英语 | 托福 | 雅思 | 专四专八 | 口译笔译 | 博思 | GRE GMAT
新概念英语 | 成人英语三级 | 申硕英语 | 攻硕英语 | 职称日语 | 日语学习 | 法语 | 德语 | 韩语
计算机等级考试 | 软件水平考试 | 职称计算机 | 微软认证 | 思科认证 | Oracle认证 | Linux认证
华为认证 | Java认证
公务员 | 报关员 | 银行从业资格 | 证券从业资格 | 期货从业资格 | 司法考试 | 法律顾问 | 导游资格
报检员 | 教师资格 | 社会工作者 | 外销员 | 国际商务师 | 跟单员 | 单证员 | 物流师 | 价格鉴证师
人力资源 | 管理咨询师考试 | 秘书资格 | 心理咨询师考试 | 出版专业资格 | 广告师职业水平
驾驶员 | 网络编辑
卫生资格 | 执业医师 | 执业药师 | 执业护士
会计从业资格考试会计证) | 经济师 | 会计职称 | 注册会计师 | 审计师 | 注册税务师
注册资产评估师 | 高级会计师 | ACCA | 统计师 | 精算师 | 理财规划师 | 国际内审师
一级建造师 | 二级建造师 | 造价工程师 | 造价员 | 咨询工程师 | 监理工程师 | 安全工程师
质量工程师 | 物业管理师 | 招标师 | 结构工程师 | 建筑师 | 房地产估价师 | 土地估价师 | 岩土师
设备监理师 | 房地产经纪人 | 投资项目管理师 | 土地登记代理人 | 环境影响评价师 | 环保工程师
城市规划师 | 公路监理师 | 公路造价师 | 安全评价师 | 电气工程师 | 注册测绘师 | 注册计量师
缤纷校园 | 实用文档 | 英语学习 | 作文大全 | 求职招聘 | 论文下载 | 访谈 | 游戏
您现在的位置: 考试吧(Exam8.com) > 计算机等级考试 > 计算机二级 > JAVA > 复习资料 > 正文

2011年计算机等级考试二级JAVA学习精华整理(5)

来源:考试吧Exam8.com) 2010-11-12 10:10:21 考试吧:中国教育培训第一门户 模拟考场
考试吧整理了2011年计算机的等考二级JAVA学习精华,帮助考生备考。

  1.1.1.1.5 栈类Stack

  Stack类是Vector类的子类。它向用户提供了堆栈这种高级的数据结构。栈的基本特性就是先进后出。即先放入栈中的元素将后被推出。Stack类中提供了相应方法完成栈的有关操作。

  基本方法:

  public Object push(Object Hem)

  将Hem压入栈中,Hem可以是任何类的对象。

  public Object pop()

  弹出一个对象。

  public Object peek()

  返回栈顶元素,但不弹出此元素。

  public int search(Object obj)

  搜索对象obj,返回它所处的位置。

  public boolean empty()

  判别栈是否为空。

  例1.4 StackApp.java使用了上面的各种方法。

  例1.4 StackApp.java。

  import java.lang.*;

  import java.util.*;

  public class StackApp{

  public static void main(String args[]){

  Stack sta=new Stack();

  sta.push("Apple");

  sta.push("banana");

  sta.push("Cherry");

  //压入的为字符串对象

  sta.push(new Integer(2));

  //压入的为Integer的对象,值为2

  sta.push(new Float(3.5));

  //压入的为Float的对象,值为3.5

  System.out.println("The stack is,"+sta);

  //对应栈sta

  System.out.println("The top of stack is:"+sta.peek());

  //对应栈顶元素,但不将此元素弹出

  System.out.println("The position of object Cherry is:"

  +sta.search("cherry"));

  //打印对象Cherry所处的位置

  System.out.print("Pop the element of the stack:");

  while(!sta.empty())

  System.out.print(sta.pop()+" ");

  System.out.println();

  //将栈中的元素依次弹出并打印。与第一次打印的sta的结果比较,可看出栈

  //先进后出的特点

  }

  }

  运行结果(略)

  1.1.1.1.6 哈希表类Hashtable

  哈希表是一种重要的存储方式,也是一种常见的检索方法。其基本思想是将关系码的值作为自变量,通过一定的函数关系计算出对应的函数值,把这个数值解释为结点的存储地址,将结点存入计算得到存储地址所对应的存储单元。检索时采用检索关键码的方法。现在哈希表有一套完整的算法来进行插入、删除和解决冲突。在Java中哈希表用于存储对象,实现快速检索。

  Java.util.Hashtable提供了种方法让用户使用哈希表,而不需要考虑其哈希表真正如何工作。

  哈希表类中提供了三种构造方法,分别是:

  public Hashtable()

  public Hashtable(int initialcapacity)

  public Hashtable(int initialCapacity,float loadFactor)

  参数initialCapacity是Hashtable的初始容量,它的值应大于0。loadFactor又称装载因子,是一个0.0到0.1之间的float型的浮点数。它是一个百分比,表明了哈希表何时需要扩充,例如,有一哈希表,容量为100,而装载因子为0.9,那么当哈希表90%的容量已被使用时,此哈希表会自动扩充成一个更大的哈希表。如果用户不赋这些参数,系统会自动进行处理,而不需要用户操心。

  Hashtable提供了基本的插入、检索等方法。

  ■插入

  public synchronized void put(Object key,Object value)

  给对象value设定一关键字key,并将其加到Hashtable中。若此关键字已经存在,则将此关键字对应的旧对象更新为新的对象Value。这表明在哈希表中相同的关键字不可能对应不同的对象(从哈希表的基本思想来看,这也是显而易见的)。

  ■检索

  public synchronized Object get(Object key)

  根据给定关键字key获取相对应的对象。

  public synchronized boolean containsKey(Object key)

  判断哈希表中是否包含关键字key。

  public synchronized boolean contains(Object value)

  判断value是否是哈希表中的一个元素。

  ■删除

  public synchronized object remove(object key)

  从哈希表中删除关键字key所对应的对象。

  public synchronized void clear()

  清除哈希表

  另外,Hashtalbe还提供方法获取相对应的枚举集合:

  public synchronized Enumeration keys()

  返回关键字对应的枚举对象。

  public synchronized Enumeration elements()

  返回元素对应的枚举对象。

  例1.5 Hashtable.java给出了使用Hashtable的例子。

  例1.5 Hashtalbe.java。

  //import java.lang.*;

  import java.util.Hashtable;

  import java.util.Enumeration;

  public class HashApp{

  public static void main(String args[]){

  Hashtable hash=new Hashtable(2,(float)0.8);

  //创建了一个哈希表的对象hash,初始容量为2,装载因子为0.8

  hash.put("Jiangsu","Nanjing");

  //将字符串对象“Jiangsu”给定一关键字“Nanjing”,并将它加入hash

  hash.put("Beijing","Beijing");

  hash.put("Zhejiang","Hangzhou");

  System.out.println("The hashtable hash1 is: "+hash);

  System.out.println("The size of this hash table is "+hash.size());

  //打印hash的内容和大小

  Enumeration enum1=hash.elements();

  System.out.print("The element of hash is: ");

  while(enum1.hasMoreElements())

  System.out.print(enum1.nextElement()+" ");

  System.out.println();

  //依次打印hash中的内容

  if(hash.containsKey("Jiangsu"))

  System.out.println("The capatial of Jiangsu is "+hash.get("Jiangsu"));

  hash.remove("Beijing");

  //删除关键字Beijing对应对象

  System.out.println("The hashtable hash2 is: "+hash);

  System.out.println("The size of this hash table is "+hash.size());

  }

  }

  运行结果:

  The hashtable hash1 is: {Beijing=Beijing, Zhejiang=Hangzhou, Jiangsu=Nanjing}

  The size of this hash table is 3

  The element of hash is: Beijing Hangzhou Nanjing

  The capatial of Jiangsu is Nanjing

  The hashtable hash2 is: {Zhejiang=Hangzhou, Jiangsu=Nanjing}

  The size of this hash table is 2

  Hashtable是Dictionary(字典)类的子类。在字典类中就把关键字对应到数据值。字典类是一个抽象类。在java.util中还有一个类Properties,它是Hashtable的子类。用它可以进行与对象属性相关的操作。

上一页  1 2 3 4 5 6 7 8 下一页
  相关推荐:2010年9月计算机等级考试试题及答案解析专题

       预告:名师解析2010年9月计算机等级考试试题答案

       2010年9月计算机等级考试成绩查询时间及入口

文章搜索
版权声明:如果计算机等级考试网所转载内容不慎侵犯了您的权益,请与我们联系800@exam8.com,我们将会及时处理。如转载本计算机等级考试网内容,请注明出处。