网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.JPA重整ORM山河.
.TOMCAT3.1的安装与配置简要介绍.
.第一讲 Java语言概述.
.Java RMI编程.
.Java程序把Word文档直接转换成HT.
.更方便,更强大的分页方式.
.MVC 构架学习之渐行渐进(一).
.RMI规范--第二章.
.高级应用 java多线程设计模式详解.
.用EJB 3.0简化企业Java开发(下).
.Java程序设计.
.Struts中html:options的使用.
.Java核心代码例程之:DateFormat.
.Java Servlet 编程及应用之Cooki.
.用Java连接MS SQL Server.
.探讨Java与Ruby语言迁移时风险预.
.Java入门之开始面向对象的编程.
.总结Sync4j的Nokia手机实践结果.
.性能优化:==代替equals.
.PDA操作系统大比拼之二.

编程基础:Java中的数据结构

发表日期:2008-1-5


    是否选择了合适的数据结构进行数据处理对系统的性能有着极大的影响, JDK 中提供了常用的数据结构的实现类,比如链表、堆栈、哈希表,很多第三方开源库也进行了有益的扩展。

关于这些类的原理以及使用可以参考相关的手册,在本节中重点讲解一些使用中需要注重的问题 。 

1.1.1.       增量内存分配 

    ArrayList 、 HashMap 、 Vector 等类都答应我们向其中加入任意多的对象,从而进行处理的,我们在享受它们带来的便利的同时也要注重一定的性能问题。以 ArrayList 为例,我们来看一下在很多情况下是如何编写出低性能的代码的:

Cownew开源原创:
http://www.cownew.com
http://www.blogJava.net/huanzhugege
在一个数组中有若干个对象,对象的类型都是 PersonInfo , PersonInfo 的类结构如下: 

public class PersonInfo 



     // 身份证号码 

     private String id; 

     // 姓名 

     private String name; 

     // 年龄 

     private int age; 

     public PersonInfo(String id, String name, int age) 

     { 

         super(); 

         this.id = id; 

         this.name = name; 

         this.age = age; 

     } 

  

     public int getAge() 

     { 

         return age; 

     } 

  

     public String getId() 

     { 

         return id; 

     } 

  

     public String getName() 

     { 

         return name; 

     } 



请将所有这些 PersonInf 的身份证号码,也就是 id 属性,提取出来,放到另一个 List 类型的变量中。 

实现代码 1 : 

PersonInfo[] persons = new PersonInfo[] { 

         new PersonInfo("00001", "Tom", 20), 

         new PersonInfo("00002", "Tim", 23), 

         new PersonInfo("00003", "Sally", 26), 

         new PersonInfo("00005", "Lily", 20), 

         new PersonInfo("00006", "LUCy", 30), 

         new PersonInfo("00008", "Kitty", 20), 

         new PersonInfo("00011", "Smith", 20), 

         new PersonInfo("00031", "Ketty", 22), 

         new PersonInfo("00051", "Melly", 20), 

         new PersonInfo("00022", "Blues", 20), 

         new PersonInfo("00033", "Tid", 18), 

         new PersonInfo("00101", "Duoliaos", 30), 

         new PersonInfo("00201", "Yang", 26), 

         new PersonInfo("03001", "King", 20), 

         new PersonInfo("05001", "Lee", 20), 

         new PersonInfo("10001", "Wang", 20), 

         new PersonInfo("06001", "Pizza", 60) }; 

  

List list = new ArrayList(); 

for (int i = 0, n = persons.length; i < n; i++) 



     PersonInfo pInfo = persons[i]; 

     list.add(pInfo.getId()); 



 


上一篇:利用JDK1.5新工具进行系统性能监测 人气:822
下一篇:如何选中滚动文本框从某一行到某一行 人气:710
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐