后台之路(一):java基础回顾

         集合:

         单列集合:

                          Collection:单列集合的根接口

                                   List:实现了List接口的集合类,具备的特点:有序、可重复

                                            ArrayList:ArrayList底层是使用Object数组实现的.特点:查询速度快,增删慢.

                                            LinkedList:LinkedList底层是使用了链表结构实现的.特点是:查询速度慢,增删快.

                                            Vector:底层是使用Object类型的数组实现的,实现原理和ArrayList是一致的,但其是线程安全的,操作效率低.

                                   Set:实现了Set接口的集合类,具备的特点:无序,不可重复.

                                            HashSet:底层是使用哈希表实现的,特点:存取速度快

         HashSet存储元素的原理:

                  往HashSet添加元素的时候,首先会调用元素的hashCode方法来得到元素的哈希码值,然后将哈希值经过运算算出该元素在哈希表中的位置.

                  情况一:如果算出的位置还没有存在的元素,那么该元素可以直接添加到哈希表中.

                  情况二:如果算出的位置目前已经存在其他的元素,那么还会调用元素的equsals方法再与这个位置上的元素比较一次.

                                            TreeSet:底层是使用二叉树(红黑树)的数据结构实现的.特点:对集合中的元素进行排序存储.

         TreeSet的原理:

1.     往TreeSet添加元素的时候,如果元素具备自然排序的特点,那么TreeSet会根据元素的自然特性进行排序存储.

2.     --------------------------------------,如果元素不具备自然排序的特点,那么元素所属的类就必须实现Compareable接口,将比较的方法放在Compareto方法

3.     --------------------------------------------------------------------------------------,元素所属的类也没有实现Compareable接口,那么在创建TreeSet的时候必须要传入比较器对象

比较器的语法:

Class 类名 implements Comparator{

}

                  

         双列集合:Map: 存储的对象都是以键对值的形式存在的,键不可以重复,值可以重复

 

                          HashMap:线程不安全,存取速度快.底层是以哈希表实现的.

TreeMap: 红-黑树的数据结构,默认对元素进行自然排序(String),如果在比较的时候两个对象返回值为0,那么元素重复.

                          HashTable:底层也是以哈希表维护的,存取的速度快,存储元素是无需的.

集合的遍历方式:

List:使用get方式遍历

Map:迭代器方式遍历(使用foreach替代)

         使用entrySet方式.

 

泛型的好处:

1.     把运行时出现的问题提前到了编译时.

2.     避免了无谓的强制类型转换.

3.     注意:在泛型中没有多态的概念,两边的类型必须一致.

 

IO流:

         解决设备与设备之间的数据传输问题.

分类:       

 

输入流

输出流

说明

字节流

InputStream

OutputStream

字节流是处理字节的(二进制)

字符流

Reader

Writer

字符流是处理字符的

注:这几个类都是抽象类.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值