1、Random随机数类
Random构造方法
(1)public Random()
(2)public Random(long seed)
Java产生随机数需要有一个基值seed,在第一种方法中基值缺省,则将系统时间作为seed。
random的使用:
Random ran1=new Random();
Random ran2=new Random(12345);
ran1.nextInt();//一个整型随机数
ran1.nextLong();//一个long型随机数
ran1.nextFloat();//一个Float型随机数
ran1.nextDouble();//一个Double型随机数
ran1.nextGaussian();//一个double型的Goussian随机数
2、向量类Vector
定义向量类
Vector v1=new Vector();
新增:
一个整数1时,不要直接调用v1.addElement(1),正确的方法为:
Integer integer1=new Integer(1);
v1.addElement(integer1);
插入:
v1.insertElementAt(Object obj,int index);//在index指定的位置插入obj,原来对象以及此后的对象依次往后顺延。
删除:
v1.removeElement(Object obj);//从向量中删除obj。若有多个存在,则从向量头开始试,删除找到的第一个与obj相同的向量成员
v1.removeAllElement();//删除向量中所有的对象。
v1.removeElementlAt(int index);//删除index所指的地方的对象。
覆盖:
v1.setElementAt(object obj,int index);//将index处的对象设成obj,原来的对象将被覆盖。
查询:
v1.indexOf(Object obj);//从向量头开始搜索obj ,返回所遇到的第一个obj对应的下标,若不存在此obj,返回-1。
v1.indexOf(Object obj,int index);//从index所表示的下标处开始搜索obj。
v1.lastIndexOf(Object obj);//从向量尾部开始逆向搜索obj
v1.lastIndexOf(Object obj,int index);//从index所表示的下标处由尾至头逆向搜索obj。
v1.firstElement();//获取向量对象中的首个obj。
v1.lastelement();//获取向量对象中的最后一个obj。
v1.size();//此方法用于获取向量元素的个数。它的返回值是向是中实际存在的元素个数,而非向量容量。
v1.capactly();//来获取向量的容量值。
v1.setsize(int newsize);//此方法用来定义向量大小。若向量对象现有成员个数已超过了newsize的值,则超过部分的多余元素会丢失。
3、栈类Stack
Stack类是Vector类的子类。它向用户提供了堆栈这种高级的数据结构。栈的基本特性就是先进后出。即先放入栈中的元素将后被推出。
定义:
Stack sta=new Stack();
方法:
sta.push("Apple"); //压入的为字符串对象
sta.push(new Integer(2)); //压入的为Integer的对象,值为2
sta.push(new Float(3.5)); //压入的为Float的对象,值为3.5
sta.peek()); //对应栈顶元素,但不将此元素弹出
sta.search("cherry")); //打印对象Cherry所处的位置
sta.empty();//判别栈是否为空
4、哈希表类Hashtable
有3种构造方法:
public Hashtable()
public Hashtable(int initialcapacity)
public Hashtable(int initialCapacity,float loadFactor)
参数initialCapacity是Hashtable的初始容量,它的值应大于0。loadFactor又称装载因子,是一个0.0到0.1之间的 float型的浮点数。它是一个百分比,表明了哈希表何时需要扩充,例如,有一哈希表,容量为100,而装载因子为0.9,那么当哈希表90%的容量已被 使用时,此哈希表会自动扩充成一个更大的哈希表。如果用户不赋这些参数,系统会自动进行处理,而不需要用户操心。
使用:
Hashtable hash=new Hashtable(2,(float)0.8); //定义
hash.put("Jiangsu","Nanjing"); //插入
hash.get("Jiangsu");//检索
hash.remove("Beijing");//删除
hash.clear("Beijing");//
hash.size()); //打印hash的内容和大小
4.1 java.util.Properties类
java.util.Properties类是Hashtable的子类。
java.lang.Object
java.util.Dictionary<K,V>
java.util.Hashtable<Object,Object>
java.util.Properties
4.1.1 properties文件
1、properties文件是一个文本文件
2、properties文件的语法有两种,一种是注释,一种属性配置。
注 释:前面加上#号
属性配置:以“键=值”的方式书写一个属性的配置信息。
4.1.2 Properties类
针对key-value这种配置文件,用load方法就能直接映射成map。
//将properties文件加载到输入字节流中
InputStream is = new FileInputStream("D:\\myprojects\\lession4\\src\\stu\\ttt.properties");
//创建一个Properties容器
Properties prop = new Properties();
//从流中加载properties文件信息
prop.load(is);
//循环输出配置信息
for (Object key : prop.keySet()) {
System.out.println(key + "=" + prop.get(key));
}
prop.load();//从输入流中读取属性列表(键和元素对)
prop.clear(); // 清空
prop.get(key);//获取
prop.containsKey("key"); // 是否包含key
prop.containsValue("value"); // 是否包含value
prop.getProperty("key"); // 通过key获取value
prop.put("key", "value"); // 添加属性
prop.list(new PrintStream(new File(""))); // 将prop保存到文件
prop.store(new FileOutputStream(new File("")), "注释"); // 和上面类似
prop.getProperty ( String key);//通过参数 key ,得到 key 所对应的 value。
prop.setProperty ( String key, String value) ;//调用 Hashtable 的方法 put来设置 键 - 值对。
Set<Object> set = prop.keyset(); // properties类继承HashTable,获取properties中的键集合
抛出异常:
try {
FileOutputStream fos = new FileOutputStream(file);
properties.setProperty("name", "guo");
properties.setProperty("password", "qinglao");
properties.setProperty("value", "3");
properties.setProperty("first", "郭");
properties.store(fos, "保存文件");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
文章摘自:
http://www.cnblogs.com/frankliiu-java/articles/1944276.html
http://trans.blog.51cto.com/503170/110227/
感谢作者们的分享,受益匪浅。