Java
iteye_7333
这个作者很懒,什么都没留下…
展开
-
hashmap的简单实现
来自Thinking In Java【P493】。 Java Code 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 package org.vocano.java.tst;import ja...原创 2014-08-15 14:20:43 · 131 阅读 · 0 评论 -
基本的小程序
斐波那契数列。(Fibonacci)public class Fibonacci { public static int fib(int n) { if(n < 2) return 1; return fib(n-2) + fib(n-1); } public static void main(String[] args) { for(int i...原创 2014-03-25 14:45:38 · 82 阅读 · 0 评论 -
Java中hashCode和equals方法的正确使用
面试题:新建一个类,这个类要作用hashmap的键值,问需要覆盖那些类?怎么覆盖?需要覆盖hashCode和equals。 如果覆盖:eclipse有自带的方法。public class HashObject { private int id; private String name; private Object o; @Override public in...原创 2014-02-19 11:28:26 · 83 阅读 · 0 评论 -
一个字符串在另一个字符串中出现的次数
一个字符串在另一个字符串中出现的次数 public static int getStringAppearTimers(String target, String token) { int times = 0; for (String tmp = target; tmp != null && tmp.length() >= ...原创 2013-12-13 17:09:46 · 193 阅读 · 0 评论 -
Java hashcode
原文:http://www.ibm.com/developerworks/cn/java/j-jtp05273/ 虽然Java语言不直接支持关联数组 -- 可以使用任何对象作为一个索引的数组 -- 但在根 Object 类中使用 hashCode() 方法明确表示期望广泛使用 HashMap (及其前辈 Hashtable )。理想情况下基于散列的容器提供有效插入和有效检索;直接在...原创 2013-09-25 16:19:49 · 68 阅读 · 0 评论 -
java 没有无符号整数
由于Java的原始类型里没有无符号类型,如果你需要某个宽度的无符号类型,恐怕得用下一个宽度的带符号类型来模拟。例如你需要的是无符号的short,就得用int来模拟。要达到这样的模拟很简单: int toUnsigned(short s) { return s & 0x0FFFF;} type:int toUnsigned(Byte b) { r...原创 2013-09-02 17:09:49 · 995 阅读 · 0 评论 -
数组操作
1 数组倒叙:Snippet181写道int[] order = table.getColumnOrder(); for (int i = 0; i < order.length / 2; i++) { int temp = order[i]; order[i] = order[order.length - i - 1]; order[order.length - i - 1]...原创 2013-06-24 16:28:40 · 68 阅读 · 0 评论 -
write object, read object 不一定比自己parse快速,只是简单,可以扩展好
write object, read object 不一定比自己parse快速,只是简单,可以扩展好。如例子,文件“c:/temp/f.txt”是一个5万多行的文本文件。 import java.io.BufferedReader;import java.io.FileInputStream;import java.io.FileOutputStream;import j...原创 2013-05-13 17:19:23 · 166 阅读 · 0 评论 -
计算机基础 补码 位操作
Java中的Integer.toBinaryString(i)可以将整数转化为二进制的字符串,不过这个没有输出前面额外的零。 有符号的整数 原码 反码 补码 47 00101111 00101111 00101111(正数补码和原码、反码相同,不能从字面理解) -47 10101111 11010000 11010001(负数补码是在反码...原创 2011-11-14 18:10:53 · 226 阅读 · 0 评论 -
字符串不同,hashcode可以相同
public class Snippet { public static void main(String[] args) { System.out.println("buzzards".hashCode()); System.out.println("righto".hashCode()); System.out.println("buzzards...原创 2014-03-31 15:22:40 · 214 阅读 · 0 评论 -
类语句块
public class Snippet extends supperone{ public static void main(String[] args) { new Thread() { { setDaemon(true); } public void run() { System.out.println("acquired"); } }.s...原创 2014-03-31 15:49:12 · 137 阅读 · 0 评论 -
广度优先 深度优先访问 树
public class Tst { static TreeNode treeFactory() { TreeNode a = new TreeNode("a"); TreeNode b = new TreeNode("b"); TreeNode c = new TreeNode("c"); TreeNode d = new TreeNode("d");...原创 2014-06-06 15:37:59 · 106 阅读 · 0 评论 -
hashcode的实现
ThinkinJava中给出了Effective Java的实现。给出int变量result赋予某个非零值常量,例如17.为对象内每个有意义的域f(即每个可以坐equals()操作的域)计算一个int的码c:boolean --- c=(f?0:1)byte, char, short, int --- c=(int)flong --- c = (int) (f ^ (f ...原创 2014-08-15 14:18:06 · 119 阅读 · 0 评论 -
验证Hashmap不支持同步,ConcurrentHashMap支持
一直都不知道concurrenthashmap有什么实际的用处?先写个例子比较下hashmap和它。方法用2000个线程下同一个key值,同步的话,应该最后的map的size为1,不同步可以大于1. Java Code 12345678910111213141516171819202122232425262728293031 public class Hash...原创 2014-08-15 14:14:58 · 153 阅读 · 0 评论 -
Java 中的嵌套类可以访问Private
注意:Java中的嵌套类与C++中的嵌套类大致一致,只不过C++中的那些类不能够访问私有成员,而在Java中可以访问。 Java Code 12345678910 public class TstInnerClass { static class A { void method() { new B(); ...原创 2014-07-18 10:54:49 · 317 阅读 · 0 评论 -
简单的递归转非递归例子 Fibonacci
package org.vocano.java.tst.recursion;public class Fibonacci { public static int recursive(int n) { if(n < 2) return 1; return recursive(n-2) + recursive(n-1); } public stati...原创 2014-07-11 14:41:01 · 141 阅读 · 0 评论 -
Java中的缓存
原文链接:http://blog.sina.com.cn/s/blog_6d2890600101gb8l.html import java.util.HashMap;import java.util.Map;public class JavaCache { private Map map=new HashMap(); public Object ge...原创 2014-07-10 15:48:46 · 97 阅读 · 0 评论 -
java.lang.IllegalStateException
在使用iterator的remove的时候出现了java.lang.IllegalStateException异常,原来是remove的第二次就会异常。iterator的remove后要调用next再可以remove,这个也是比较好理解的一个对象不可以remove多次。...原创 2013-04-17 18:34:40 · 103 阅读 · 0 评论 -
函数返回值
现在代码的水平还是比较的低,对于函数保持的观点是:1,尽量的短小,3到5行。2,最好干一件事情。3,返回值void最好。这里就说返回值,我一般还是void,除了get。参考一下ArrayList的实现:1, add(E):boolean【来自Collection的方法,感觉一直返回true】2, add(int, E):void【我一般void】3, addAll(int, Colle...原创 2013-04-17 18:15:51 · 99 阅读 · 0 评论 -
快速随机访问和可删除的数组
原文链接:http://www.blogjava.net/qujinlong123/archive/2007/08/27/140048.html 关键代码:public Object remove(int index) { ...原创 2014-06-06 16:03:43 · 212 阅读 · 0 评论 -
PropertyChangeSupport的使用
PropertyChangeSupport的使用,有这么几个类是相关的PropertyChangeEvent、PropertyChangeListener; 看一个小的例子: public class A_listViewerExample { public static void main(String[] args) { Display display = Dis...原创 2012-02-16 15:41:35 · 145 阅读 · 0 评论 -
设计模式——观察者模式
Java 提供了 Observer 模式的默认实现,下面我们就看一下 Java 对 观察者模式的支持。 Java 对 观察者模式的支持 主要体现在 Observable 类和 Observer 接口。 (1) Observable 类代表 被观察者 (java.util.Observable ) 主要方法有: void setChanged() : 设置被观察者的状态已经被改变...原创 2012-02-14 12:40:24 · 67 阅读 · 0 评论 -
Java Collection 集合类总结
【关键字】Collection 集合 set List map Set 接口: 典型实现HashSet、TreeSet不允许有重复没有顺序List接口:典型实现ArrayList、LinkedList、Vector类(线程安全)允许重复有特定的顺序 Collections.sort(list<T>) Map接口:典型实现HashMap、TreeM...2011-04-16 21:51:36 · 142 阅读 · 0 评论 -
Java中运行音频文件
public class Mp3Player{ public static void main(String args[]) { try { FileInputStream fileau = new FileInputStream(new File("f:/tmp/ss.wav")); ...原创 2010-07-02 17:39:00 · 107 阅读 · 0 评论 -
java online compiler
找了一个在线编译的网站,不过试了试不好,是不是服务器问题啊。http://youjavait.com/ 期待好使啊。原创 2010-07-02 15:36:30 · 210 阅读 · 0 评论 -
Java Learning Path(五)资源篇
来自百度知道:http://zhidao.baidu.com/question/5192636.htmlJava Learning Path(五)资源篇1、 http://java.sun.com/ (英文)Sun的Java网站,是一个应该经常去看的地方。不用多说。2、http://www-900.ibm.com/developerWorks/cn/ IBM的developerWorks网站,...原创 2010-07-02 15:15:34 · 56 阅读 · 0 评论 -
【单例】单例在全局变量中引用变成了多例
单例在编程中经常使用,但在全局变量中应用会出现一些问题。 例子:public class Tst { public static void main(String[] args) { A.getInstance(); }}class Glbl { static { System.out.println("In class GlblVars"); ...2011-08-12 21:39:34 · 402 阅读 · 0 评论 -
数据多版本的读写
引子:在编写程序的时候,所有时间的变化、对基本的数据通常要更新,如一个学生类,一开始的时候,我们只想到了保存姓名,出生年月的属性,后来我们又想加入学生性别的属性了,后来又想加入学生的地址了。如何才能做到读写统一呢? 例子:例子中给出了类D1_0-》D1_1-》D1_2,这三个类是继承关系,D1_0中只有d1,隔了一段时间想加入d2,写了类D1_1,又想加d3,写了类D1_2。数据保存的...2011-08-12 15:55:20 · 139 阅读 · 0 评论 -
数组操作 和 list到数组
常在看代码的时候,看到这样的数组的操作:Integer[] arr1 = new Integer[0];for (int i=0; i < 100000; i++) { Integer[] arr2 = new Integer[arr1.length + 1]; System.arraycopy(arr1, 0, arr2, 0, arr1.length); arr2[a...原创 2011-08-04 18:03:15 · 74 阅读 · 0 评论 -
List 和 Iterator
今天看到这个java.util.RandomAccess接口,看到了这么一句话:写道this loop: for (int i=0, n=list.size(); i < n; i++) list.get(i); runs faster than this loop: for (Iterator i=list.iterator(); i.hasNext(); ) i.next();...2011-08-04 17:21:10 · 65 阅读 · 0 评论 -
String 到InputStream
String content = new String("ooxx");InputStream is = new ByteArrayInputStream(content.getBytes());原创 2011-08-01 20:35:30 · 77 阅读 · 0 评论 -
Java的引用传替
public class Sample { public static void main(String[] args) { A objectA = new A(); System.out.println(objectA.a); add(objectA); System.out.println(objectA.a); } private static v...原创 2010-07-05 17:57:28 · 116 阅读 · 0 评论 -
Java的文件路径
1,访问该类所在目录下的文件:如结构: 现在Tst.java中想要访问note.txt文件,这样就行:getClass().getResource("note.txt")得到java.net.URL或:getClass().getResourceAsStream("note.txt")得到InputStream。或:Tst.class.getResource("note.t...原创 2010-07-08 15:23:42 · 74 阅读 · 0 评论 -
java 函数中可以用可变参数传替 ...
参考:http://xhpscdx.iteye.com/blog/706946JDK1.5引进了方法的可变参数,受到许多开发人员的青睐。1,基本使用:public class MethodNum { public void method(String... strings) { System.out.println("The argument num is : "+strin...原创 2010-07-20 15:09:27 · 106 阅读 · 0 评论 -
finally 居然在return后面也是会执行的
finally 居然在return后面也是会执行的。public class Tst { public static void main(String[] args) { returnInt1(); } public static int returnInt1() { try { return 0; } finally { System.ou...原创 2012-02-13 11:25:33 · 87 阅读 · 0 评论 -
javadoc的使用
一个例子:运行:写道 javadoc -d . Attr.java -encoding utf-8 代码: package P1;/** * An <code>Attr</code> object defines an attribute as a * name/value pair, where the name is a &l...原创 2012-02-10 14:48:30 · 64 阅读 · 0 评论 -
java中包的访问
Java中有三种修饰符:public、protected、private。实际上还隐藏着一个缺省的包。public:定义了类型的主要功能。protected:定义了子类可获得的用于特化目的的功能。private:定义仅仅此类的特定功能。package(缺省):定义了包内其他代码可获得的用来实现包类型之间协作的功能。 例子:package P1;public abst...原创 2012-02-10 14:16:26 · 373 阅读 · 0 评论 -
ListIterator 向前遍历和向后遍历
ListIterator 向前遍历和向后遍历 public class ListIteratorTst { public static void main(String[] args) { List<Integer> list = Arrays.asList(1,2,4); ListIterator<Integer> listItr...原创 2012-02-09 15:33:45 · 1391 阅读 · 0 评论 -
pushback流的例子
pushback流 有PushbackInputStream和PushbackRead。 例子: public class SequenceCount { public static void main(String[] args) throws IOException { PushbackInputStream in = new PushbackInputStream(...原创 2012-02-08 18:00:17 · 121 阅读 · 0 评论 -
IdentityHashMap
Java中的hashMap是不允许有重复的key存在的,那么什么才是重复的呢?其实就是说什么才是相等的?Hashmap中用equal来判断相等。IdentityHashMap中用==来判断相等。 例子:public class IdentityHashMapTst { public static void main(String[] args) { Map<In...原创 2012-02-06 15:53:09 · 80 阅读 · 0 评论