java集合
java中的四种类型的集合类
(1)Vector (2)BitSet(3)Stack(4)HashTable
2枚举器
在任何集合类中,必须通过某种方法在其中置入对象,再用另一种方法从中取得对象。在Vector中,addElement()就是我们插入对象采用的方法
,二elementAt()则是提取对象的唯一方法。
Iterator可以达到这个目的,它是一个对象,作用是便利一系列的对象,并选择那个序列中的每个对象,同时不让客户程序员知道或关注那个序列的
基础结构。
java内部“自动转换成字串技术”。一旦编译器碰到一个字串,后面跟着一个+,就会希望后面跟随着一个字串,并且自动调用toString()方法,所以toString()方法应该重载。
若不注意上面的实例就会出现bug,
例如下面的实例
import java.util.* ;
public class Crash{
public String toString(){
return "Crash java" + this ;//此处this会调用toString()方法,引起递归
}
public static void main(String [] args){
Vector v = new Vector();
for(int i = 0 ; i < 10 ; i++)
v.addElement(new Crash());
System.out.println(v);
}
}
在java6.0中,编译器会检查出改错误。
3BitSet
BitSet实际是由“二进制位”构成的一个Vector,最小长度是64位的。
4Stack
5HashTable
通常情况下散列码是每个对象的hashCode()方法,而该方法返回的是每个对象的地址,如果要将自己新建的类作为键值,就应该覆盖hashCode()方法和equals()方法。就向下面展示的那样 。
import java.util.*;
class Prediction{
boolean shadow = Math.random() > 0.5 ;
public String toString(){
if(shadow)
return "Six more weeks of Winter" ;
else
return "Early Spring";
}
}
class Groundhog2{
int ghNumber ;
Groundhog2(int n){
ghNumber = n;
}
public int hashCode(){
return ghNumber ;
}
&nb
相关文档:
本文提供java多线程分别定时读写同一个文件的样例,其中两个线程,一个每分钟写入当前时间到指定文件,另一个线程读出每分钟新写的内容。
使用简单的Thread.sleep技术实现定时
package test.thread;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
im ......
工作台窗口的Editor区域默认是显示的,而且它支持拖拽操作。在Eclipse里面,把一个文件拖到Editor区域,就会自动打开该文件的
Editor.该特性是在IWorkbenchWindowConfigurer 中设置。
在PassWord Gate中,当拖动Password Gate View中的一个Group 或者
Service到Editor区域,会在Editor显示该 ......
今天在逛论坛的时候看到有人津津乐道:从C++干到转型为java是退步
我不认为是这样,首先应该一个人的兴趣,加上这门语言,这门工作是否符合你
干自己喜欢的语言编码才是最重要的,当然java比较容易点,我也是这样认为的
但是java并不是大家所说的那么容易,当今社会谁不敢说自己会ssh,当是自己问心自己学得有多好,
在 ......
这个原则很简单,就是使用私有构造函数防止类被实例化。
有时,我们会写一些工具类,如java.lang.Math 或是 java.util.Arrays, 这些类中都是静态函数,在设计的时候,这些类并不是用来被实例化的。这个时候,就很有必要把构造函数私有化。
public class UtilityClass {
private UtilityClass() {
throw new Assertion ......