快速业务通道

Java编程那些事儿80——集合框架简述 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-24
ot;, "2");   //删除元素   map.remove("桔子");   //修改元素的值   map.put("菠萝", "5");   //获得元素个数   int size = map.size();   System.out.println("个数是:" + size);   //遍历Map   Set set = map.keySet();   Iterator iterator = set.iterator();   while(iterator.hasNext()){    //获得名称    String name = (String)iterator.next();    //获得数值    String value = (String)map.get(name);    //显示到控制台    System.out.println(name + ":" + value);   }  } }

该程序的运行结果为:

个数是:3

香蕉:3

菠萝:5

苹果:2.5

Java编程那些事儿80——集合框架简述(7)

时间:2010-03-15 csdn 陈跃峰

9.6.3.4 使用示例

如前所述,集合框架中的类只是提供了一种数据存储的方式,在实际使用时,可以根据逻辑的需要选择合适的集合类进行使用。

下面以一个字符串计算的示例演示集合类的实际使用。

该程序的功能为计算一个数字字符串,例如”1+2*31-5”、”12*30/34-450”等,的计算结果,在该示例中支持四则运算,但是不支持括号。本示例中计算的字符串要求合法。

该程序实现的原理是:首先按照运算符作为间隔,将字符串差分为数字字符串和运算符字符串的序列,由于分拆出的字符串数量不固定,所以存储到List系列的Vector容器中,然后按照运算符的优先级进行计算。

该程序的代码如下:

import java.util.*; /** * 计算字符串的值 */ public class CalcStr {  public static void main(String[] args) {   String s = "1+20*3/5";   double d = calc(s);   System.out.println(d);  }  /**  * 计算字符串的值  * @param s 需要计算的字符串  * @return 计算结果  */  public static double calc(String s){   //拆分字符串   Vector v = split(s);   //print(v); //测试代码   //计算字符串   double d = calcVector(v);   return d;  }  /**  * 将字符串拆分为数字和运算符。  * 例如:"1+23*4"则拆分为:"1"、"+"、"23"、"*"和"4"  * @param s 需要拆分的字符串  * @return 拆分以后的结果  */  private static Vector split(String s){   Vector v = new Vector();   String content = "";   int len = s.length(); //字符串长度   char c;   for(int i = 0;i < len;i++){    c = s.charAt(i);    //判断是否为运算符    if(c == ''+'' ||    c == ''-'' ||    c == ''*'' ||    c == ''/''){    //存储数字     v.add(content);    //存储运算符    v.add("" + c);    //清除已有字符串    content = "";    }else{      content += c; //连接字符串    }   }   v.add(content); //添加最后一个数字   return v;  }  /**  * 测试代码,输出拆分以后的结果  * @param v 需要打印的Vector对象  */  private static void print(Vector v){   int size = v.size();   for(int i = 0;i < size;i++){    System.out.println((String)v.get(i));   }  }  /**  * 计算Vector中的数据  * @param v 存储拆分后字符串的Vector  * @return 计算结果  */  private static double calcVector(Vector v){   int index1;   int index2;

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号