第一阶段:Java初级 ------- API

来源:互联网 发布:移动协同软件v2.3.0 编辑:程序博客网 时间:2024/05/16 01:33

API

     Application Programming Interface  应用程序编程接口

     Windows API  Windows操作系统提供的一些函数。

     JAVA    API  JDK提供的各种类。

     C       API  C中的标准H文件。

 

 

我们通过自由的组合和使用API,以产生一个有特定功能的东西。然后就可以把这个东西用在能
通过API控制的对象上。这简直就是我们平常编程一样,我们利用这种语言的API,编写一个程序然后把程序放在一个应用环境里启动。我们不需要知道运行环境到底是什么样,运行环境怎么运作我们的程序,只要知道它能够运行通过它的接口产生的对象就可以了。比如CLASS要在JVM里运行C程序可以在WINDOWS UNIX上运行一样。

 

比如,当我们在编译程序的时候。不需要知道这个源文件生成的执行文件会在什么样的环境上执行。我们只需要知道相应的编译器会通过具体环境,把具有相应API的源文件编译成当前环境能识别的执行文件就可以了,然后我们可以在不同的运行环境使用编译器编译同一源文件,比如C。

 

 

 

----------------------------------------------------------------------------------

 

 

 

下面的就主要相关API的使用例子了。

 

 

提取一句话的单词,单行输出。不能处理标点符号,默认单词间只有空格。

汉字无法显示,不知道原因···怨念中。。。。。。。。。。。。。。。。。。

 

 

 

STRING 和 STRINGBUFF的应用

 

 

 

  

 

 

-----------------------------------------------------------------------------------

 

 集合类

 

Vector ----  Enumeration


Vector  可以把对象存放进去,虽然不限定类型,但是一般是用来装某一类型或是用泛型。这个就当
        是动态数组吧。不是数组,但是是动态的。


Enumeration  可以访问各种存储器里面的数据对象。比如Vector里面的。比起从Vector里取出的元素
             要进行类型转换。

 

 

                 ------------------------------------------------------------------

 

 

 

Collectiong(ArrayList)  -------------   Iterator

 

这2个和上面2个基本一样,通常可以换着用。但是Collectiong是接口,不能直接使用。API里有个实现
了这个接口的类是ArrayList.

 

区别: 使用Vector是线程安全的。ArrayList则不是。如果是单线程那么用ArrayList要快些。


                                      

                                 ---------------------------------------

 

 

Set  --------   List    都是Collectiong的子类


Collectiong    元素无序        元素可重复      可以多个NULL

Set               元素无序        元素不可重复    最多1个NULL

List               元素有序        元素可重复      可以多个NULL

 

 


-----------------------------------------------------------------------------------

 

 

 

 

Hashtable

 

 


Hashtable    里面存放的对象,被称为值,然后还有一个关键字与该值相关联。


Hashtable.put( 关键字 , 值 )

             把一个值和一个关键字相关联,并且存放进一个Hashtable里。
            

Hashtable.get( 关键字 )

             通过提交的关键字,从一个Hashtable里,提取出相应的值。程序员要
             根据实际情况对取出来的值进行类型转换。


因为从一个Hashtable里GET一个值的时候,要进行关键字匹配,使用必须要使用比较
关键字相等的方法,也就是equals方法。而且在匹配到相同的关键字后,还不能马上
确定就是它,还要对匹配的这两个关键字的值的对象在内存里的地址是不是一样。必须
一样才算是真正的一样,才算找到。使用的方法就是hansCode。

 


但是有三个问题。

 

 

一,实际的关键字是什么样的,不能预先知道,甚至可以是JAVA里没有的类型。

二,在进行关键字的hansCode检查的时候,地址当然是不一样的,因为传递进去的关键字
    和Hashtable里面的关键字已经是两个对象了,地址肯定不一样。

三,所有类都是Object的子类,都继承了Object的equals方法和hansCod方法。其中继承
    的hansCod方法检查到的两个对象的地址是肯定不一样的。而equals方法当遇到我们
    要使用的自己定义的类型,而不得JAVA自己已经有的的类型时,就不奇效了。

 

 

 

所以,我们要自己定义关键字类,并且在这个类里面覆盖Object的equals方法和hansCod
方法!!!

 

而且我们往往还会覆盖一些其它父类的方法,比如,toString.

 

 

 

一个Hashtable里的关键字是可以取出来的。方法:

 

 eumeration() = hashtable.keys().

 key = enumeration.nextElement().


这个KEY就是实际的Hashtable里的KEY了,同一个东西啊。!!!要注意!

 

 
Properties能把Hashtable里面的数据放进文件,和把文件里的数据读回Hashtable。

它是Hashtable的子类。

 

 

 --------------------------------------------------------------------------------------

 

 

 

 

 

 

 

 

原创粉丝点击