您的位置:首页 > 编程语言 > Java开发

Java基础知识第三篇-常用类、库

2017-09-12 10:55 330 查看

常用类库



package:在同一个类中只能有一个public,且这个类名必须和文件名一致

包的形式也是一种封装

静态导入:导入包内的所有的静态方法。作用:简化书写

访问权限

public protected default(默认) private

可以修饰类的修饰符:public private(只能修饰内部类)

集合框架(Collection)

集合理解参考网址

数组和集合的区别:

数组长度固定,集合长度可变

数组只能放置一种数据类型,集合可以放置不同的数据类型(任何类型)

Collection分类

Collection属于
java.util




Iterator(迭代器)的使用

迭代器可简单理解为一次性的

ArrayList a=new ArrayList( );


Iterator it=a. iterator();


注意:当使用Iterator遍历集合时,不能同时使用集合本身对集合进行增删改操作,可以使用ListIterator中的方法来进行操作

List

List为有序集合,所以可以根据索引来获取每一个元素。

有序指的是:是不是和存入顺序一致。

List特有方法:
asList()
接收一个数组,生成一个固定长度的list

List的常用子类:

ArrayList:底层数据结构为数组结构,线程不安全,执行效率高

LinkedList:底层数据结构为链表结构,查询,修改比较慢,删除,添加比较快。

Vector:线程安全但效率低

Set

特点:无序且不可重复,无序指的是与储存的顺序不一致。

Set的常用子类:

HashSet:底层数据结构为哈希表结构,储存位置不固定。不注重顺序(顺序由系统生成的哈希值决定),只注重唯一性。

HashSet的比较过程:当向HashSet中存入一个元素时,HashSet会调用该对象的hashCode()方法来得到该对象的hashCode值,及需要通过equals()方法比较,返回值都为true时才认为相同。

TreeSet:底层数据结构为二叉树,不仅注重唯一性,还注重顺序。使用时必须使用外部比较器

二叉树的特点:每一个根节点大于它左边的所有元素,小于它右面的所有元素。且不论TreeSet或者TreeMap内的对象必须实现Comparable接口,重写compareTo方法否则不能操作

比较器

Comparable(接口)是默认(内部)的比较器,其中方法为
compareTo(Object o)


ComparaTor是外部自行创建的(自定义)比较器,其中方法为
compare(Object o1,Object o2)
使用时必须要传入一个新的比较器(ComparaTor)。

Comparator的优先级大于Comparable

- ComparaTor接口的使用:

1.创建一个类来实现Comparator接口,实现compare方法

2.使用构造方法传入实现了ComparaTor的对象作为实参

Map

Map

Map的子类:

Hashtable:底层结构为哈希表结构,不可使用null来充当键和值,同步,效率低,出现于jdk1.0;使用HashSet值作为key的值,key的值只关注唯一性

HashMap:底层结构为哈希表结构,可以使用null来充当键和值,不同步,效率高,出现于jdk1.2;使用TreeSet值作为key的值,key 的值不仅关注唯一性,还关注顺序

TreeMap:底层结构为二叉树,键值必须是自然有序。

Collections 工具类

常用方法:

binarySearch
二分法查找(可指定比较器)

max
返回集合的最大值(可指定比较器)

min
返回集合的最小值(可指定比较器)

reverseOrder
返回一个比较器,强行逆转一个比较器。

sort
排序(可指定比较器)

Arrays工具类

常用方法:

Arrays. binarySearch()
二分法查找

Arrays.sort( )
升序排序

Arrays.toString( )
返回指定内容的字符串表示

可变参数:为了简化书写而出现(jdk1.5) 注意:可变参数必须写在最后一个

泛型(jdk1.5版本后出现)

意义:为了限制集合中储存的类型。泛型可以将运行时的错误提前到了编译阶段,提高了安全性,避免了强制类型转换。

向下限定:
<? extends E>
?—通配符

向上限定:
<? super E>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java