一些Java中常用的定义(2)

来源:互联网 发布:极速法术升级数据 编辑:程序博客网 时间:2024/06/05 10:11

数组:数组是一种引用类型;声明的时候不能指定其长度;数组中元素为引用类型的数组中,每一个元素都需要被实例化。

1.静态初始化:定义的同时为数组元素分配空间和赋值;动态初始化:定义和为其分配空间和赋值。

2.type[] var或者type var[]:二维数组的定义也类似。

3.数组的拷贝,由于数组的内存区域一般都是连续的,因此适合拷贝。用arraycopy()方法进行。

4.main 函数里面的String args[]数组可用于读取命令行的输入。

5.字符串转到相应的基本数据类型,使用包装类。例如:Double.parseDouble().方法将字符串类型转化为double类型。

 

学会了使用数组,数据结构的一些算法就方便去实现。

Java中的常用类

1.String类,字符串类型,代表的是不可变的字符串系列。常用的方法:valueOf()转换数据类型;split()对字符串进行分割;tochararray()可以将字符串转化为数组。

2.StringBuffer类,和String类似,但是其可以对字符串进行改变。常用的方法:append()添加,insert()插入。

3.一些基础类型的包装类。IntergerDoubleBoolean等。

4.Math类主要是用于数学计算。Random()产生随机数。toDegress()toRadians用于弧度和度数的变化。

5.File

6.枚举类型:注意和C语言里面的差别。

所有类的用法基本上都可以用API文档进行查询。


Java API所提供的一系列类的实例,用于在程序中存放对象。通常需要引入:java.util.*包。

1.  Collection 接口,下面包括两个子接口setlist,其中set表示没有顺序、不可重复的;而list则表示有顺序、可重复的。容器类在调用removecontains等方法时需要比较对象是否相等,这回涉及到对象类型的equalshashcode方法,以实现自定义的对象相等的规则。

2.  Map接口,定义了 存储键值映射对的方法,key-value

3. Iterator 接口,所有实现了Collection接口的容器类都有一个iterator方法用以返回一个实现了Iterator接口的对象。Iterator对象作为一个迭代器,用以方便对容器内的元素实现遍历操作。包括hasNext()next()remove()方法等。

4. Set接口是Collection的子接口,Set接口没有提供额外的方法,但实现Set接口的容器类中的元素是没有顺序的,而且不可以重复。包括HashSetTreeSet

 

Set s1= new HashSet();

Set s2 = new HashSet();

s1.add("a");

s1.add("b");

s1.add("c");

s2.add("a");

s2.add("b");

s2.add("d");

Set sn = new HashSet(s1);

sn.retainAll(s2);

Set su = new HashSet(s2);

su.addAll(s1);

System.out.println(sn);

System.out.println(su);

5. List接口是Collection的子接口,实现List接口的容器类中的元素是有顺序的,且不可以重复。用法举例。

     List l = new LinkedList();

for(int i = 0;i<9;i++){

l.add("a"+i);

}

System.out.println(l);

Collections.sort(l);

System.out.println(l);

Collections.shuffle(l);

System.out.println(l);

Collections.reverse(l);

System.out.println(l);

System.out.println(Collections.binarySearch(l,"a5"));

6. Collections类,其中定义了一些排序方法,sort()排序,shuffle()随机,reverse()逆序,fill(),copy(),binarySearch()二分法查找。

7. Comparable接口

  只有一个compareTo()方法,实现了Comparable接口的类通过实现CompareTo方法而确定该类对象的排列方式。

8. 如何选择数据结构。

Array:读快改慢,linked:改快读慢,Hash:介于两者之间。

9. Map接口

实现Map接口的类用来存储键值对,它的实现类有HashMapTreeMap

Map类中存储的键值对通过键来标示,所以键值不能重复。

接口中一些常用的方法:put(),get(),rmove(),containsKey(),containsValue(),size(),isEmpty(),putAll(),clear().

10. Auto_boxing/Unboxing,在合适的时机打包解包,自动将基础类型转换为对象,自动将对象转换为基础类型。

11. 泛型:在定义集合的同时定义集合中对象的类型。可以在定义Collection的时候指定,也可以在循环的时候用Iterator指定。增强程序的稳定性和可读性。

 

字节流

字符流

输入流

InputStream

Reader

输出流

OutputStream

Writer

 

1.InputStream read(),close(),skip()跳过n个字节。

2.OutputStreamwrite(),close(),flush()将缓冲区的数据全部写入到目的地。

3.Readerread(),close(),skip()

4.Writer:write(),close(),flush().

5.缓冲流:BufferedIO,其中包含一个readLine()按行读取的方法。

6.转换流:InputStreamReaderOutputStreamWriter

7.数据流:DataInputStreamDataOUtputStream,套接使用。

8.Print流:不会抛出异常,自带flush()功能。PrintWriterPrintStreamSetout(),指定输出位置。

9.Object流:直接将Object写入或读出。

10.接口 Serializable 接口序列化,标记性接口。Transient透明化。Externalizable接口。


1.线程 :程序的不同的执行路径。Thread类实现。导入java.lang.Thread.*;

有两种实现线程的方式:实现Runnable()接口和从Thread类继承。其中优先选择前者。

避免了java的单继承特性带来的局限,可以使用多个线程共享相同的资源,以达到资源共享的目的。

2.线程的状态转换。(DOS窗口是单线程)

Sleep()静态方法,join()合并线程。Yield()让出CPU给其他线程执行机会。

可以重新定义线程的优先级。Normal_PRIORITY.

同一个线程对象可以起两个主线程。

3.线程同步

Synchronized 可以用来锁定当前对象:synchronized(this){}或者直接在方法中使用。

一些常用的方法,

getName()获取线程的名字。setName()设置线程的名字。

isAlive()测试线程是否已经启动而且正在运行。

setDaemon()设置守护线程,例如java的垃圾回收机制。线程包括:用户线程和守护线程。

Join()联合线程,控制某一线程的运行。

Thread.interrupt()设置中断状态为ture

Thread.isInterrupted()获取线程的中断状态。

4. 打印一个对象 ,需重写ToString()方法。



0 0
原创粉丝点击