易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : java

几种常见的数据结构的JAVA实现

线性表的实现有很多种,如数组线性表,单链表,双链表,环链表,带头节点和不带头节点的链表。每种的结构的操作效率和存储效率都不一样,一般用数组实现的线性表的插入,删除效率低(O(n)),但访问节点的效率高(O(1)),而链式线性表的插入,删除效率高(O(1)),访问效率低(O(n)),同时多了指向下一个节点或者上一个节点的指针或引用,存储空间有所浪费。具体应用时需要根据不同的需求,选用恰当的线性表,这需要建立在对各种线性表实现方式的了解基础上。
如果只是单纯地实现线性表的数据结构,还是比较容易的。因为线性表和队列,栈一样是线性的数据结构,和非线性的数据结构比起来,从理解上和实现上要容易得多。但是如果想要程序变得更加通用,则要考虑很多其他的因素,如与其他集合类的合并,删除,并发,迭代,序列化等,因而程序的实现就变得复杂得多。JDK里LinkedList的实现就充分考虑了很多如上面所说的通用性方面的因素。
看JDK的源码是件非常惬意的事情,大师们考虑很多我们平时没有考虑到的细节,这些细节的考虑必须要有足够的编程基础和实战经验,对基础和经验都不是足够的我来说看着这些代码的细节就像站在春风吹过的麦田里一样舒畅。
本文的LinkedList ......

《转的》java算法

package dgj.sample.test;
import java.util.Random;
 
/**
 * @author 作者 E-mail:ahhsxycb@163.com
 * @version 创建时间:2009-9-21 下午02:47:17
 * 类说明
 * 排序测试类
 *
 * 排序算法的分类如下:
 * 1.插入排序(直接插入排序、折半插入排序、希尔排序);
 * 2.交换排序(冒泡泡排序、快速排序);
 * 3.选择排序(直接选择排序、堆排序);
 * 4.归并排序;
 * 5.基数排序。
 *
 * 关于排序方法的选择:
 * (1)若n较小(如n≤50),可采用直接插入或直接选择排序。
 *  当记录规模较小时,直接插入排序较好;否则因为直接选择移动的记录数少于直接插人,应选直接选择排序为宜。
 * (2)若文件初始状态基本有序(指正序),则应选用直接插人、冒泡或随机的快速排序为宜;
 * (3)若n较大,则应采用时间复杂度为O(nlgn)的排序方法:快速排序、堆排序或归并排序。
 *
 */
public class SortTest {
 
       /**
        * 初始化测试数组的方法
 &nb ......

Java输出编码问题

有关Java输出的问题,编码,先判断,在判断用什么编码输出
这个是java对中文支持的问题,你要判断读取的文件是用哪种编码写的,然后判断用那个编码输出,如下:
String filePath = "d:\\异常总结.txt";
java.io.File f2 = new java.io.File(filePath);
try {
java.io.InputStream ios = new java.io.FileInputStream(f2);
byte[] b = new byte[3];
ios.read(b);
ios.close();
if (b[0] == -17 && b[1] == -69 && b[2] == -65){
System.out.println(f2.getName() + "编码为UTF-8");
System.out.println(readFile(filePath,"UTF-8"));
}
else{
System.out.println(f2.getName() + "可能是GBK");
System.out.println(readFile(filePath,"GBK"));
}
} catch (Exception e) {
e.printStackTrace();
} ......

如何用java来调用Vault API?

Autodesk Vault API是一种Web Services类型的API,其实用.NET或者Java都可以调用这种API。autodesk的用户使用.NET的比较多,所以帮助文档都是用.NET(C#,VB.NET)写的。
几年前有个人问怎么用java来调用Autodesk Vault API,于是就写了个教程。当时是用Vault 5.0版本,现在都版本升级了3次到Vault 2010了。当时写完就了事了,现在没有人问了所以也就没有顾得上更新教程。不过我猜想大致的设计流程和技术概念还是适用的。如果大家感兴趣,可以从这里下载教程:
 http://files.cnblogs.com/junqilian/vault5_0_client_from_java_v1.0.pdf
源代码下载:http://files.cnblogs.com/junqilian/vaultapi_client_source.zip
  ......

Java异常理解

  Java异常总体上非为三类:
  一,可查异常
     就是在编写程序之前就可以预测到得的一些可能出现的异常,例如:网络中断,文件找不到异常,等,,,
  二、运行时异常
       运行时异常,就是编写好的程序在运行时的异常,例如:空指针异常,数组越界异常等,,,,
 三、 错误
        一般指程序之外的,有关Java虚拟机自身的一些错误 等,,,,
Java异常处理的机制:
    一、抛出异常
抛出异常:当一个方法出现错误引发异常时,方法创建异常对象并交付运行时系统,异常对象中包含了异常类型和异常出现时的程序状态等异常信息。运行时系统负责寻找处置异常的代码并执行。
   二、捕获异常
捕获异常:在方法抛出异常之后,运行时系统将转为寻找合适的异常处理器(exception handler)。潜在的异常处理器是异常发生时依次存留在调用栈中的方法的集合。当异常处理器所能处理的异常类型与方法抛出的异常类型相符时,即为合适的异常处理器。运行时系统从发生异常的方法开始,依次回查调用栈中的方法,直至找到含 ......

java 读写文件大全

最初java是不支持对文本文件的处理的,为了弥补这个缺憾而引入了Reader和Writer两个类,这两个类都是抽象类,
Writer中 write(char[] ch,int off,int length),flush()和close()方法为抽象方法,
Reader中read(char[] ch,int off,int length)和close()方法是抽象方法。子类应该分别实现他们。
当我们读写文本文件的时候,采用Reader是非常方便的,比如FileReader,InputStreamReader和BufferedReader。其中最重要的类是InputStreamReader,它是字节转换为字符的桥梁。你可以在构造器重指定编码的方式,如果不指定的话将采用底层操作系统的默认编码方式,例如GBK等。
当使用FileReader读取文件的时候。
FileReader fr = new FileReader("ming.txt");
int ch = 0;
while((ch = fr.read())!=-1 )
{
System.out.print((char)ch);
}
FileReader fr = new FileReader("ming.txt");
int ch = 0;
while((ch = fr.read())!=-1 )
{
System.out.print((char)ch);
}

其中read()方法返回的是读取得下个字符。当然你也可以使用read(char[] ch,int off,int length)这和处理二进制文件的时候类似,不多说了。如果使用InputStreamReader来读取文件的时候 ......
总记录数:6386; 总页数:1065; 每页6 条; 首页 上一页 [990] [991] [992] [993] 994 [995] [996] [997] [998] [999]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号