java util

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/
感谢作者们的分享,受益匪浅。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,577评论 18 399
  • 顾名思义,util是utility的缩写,所以util包是java中最实用的工具包。 util包的架构如下图所示:...
    牧师Harray阅读 622评论 0 4
  • 前言 Java 5 是Java 历史上非常重要的一个版本,它提供了泛型、for-each、自动装箱和拆箱、枚举、可...
    简单的土豆阅读 3,526评论 0 25
  • Java集合框架中的Map类型的数据结构是非线程安全, 在多线程环境中使用时需要手动进行线程同步. 因此在java...
    _呆瓜_阅读 440评论 0 4
  • 窗外的雨滴滴答答,敲着孤单的夜曲。爱与悲伤,随着曲子流淌。转眼,残梦散在湿气里。只是不知道,是夏天的呢喃,还是夜不...
    林中可有李子树阅读 153评论 0 0