重要知识点

String/StringBuffer/StringBuilder的区别?

  String常量不可变,用于字符串拼接,占内存,耗时间,底层不一样。

  

  API一样都是通过缓存区储存,要用时在调用。

  StringBuffer:线程安全的可变字符序列。速度较慢

  StringBuilder:线程不安全的可变字符序列。速度最快

 

 

ArrayList / Vector的区别?

  底层一样都是数组,都实现于List

  Vector线程安全

  ArrayList没有考虑线程安全问题,但是算法优化,效率更快

LinkedList / ArrayList的区别?

  底层不一样

  LinkedList底层是通过链表实现,删除和插入速度更快,有自己独有的首位操作方法(addFirst,addLast,removeLast,removeFirst)

  ArrayList是底层数组中效率最快的,缺点线程不安全

List接口 / Set接口的区别?

:  

  List:有序,有下标,可以重复

  set:无序,没有下标,不能重复

HashSet为什么叫Hash?

:  

  原理通过hash算法实现

链表:在java中链表就是自己实现了一个类,在类中记录了前一个和后一个的地址。每次查找都需要找到前一个或者后一个,才能往前或者往后找到

   双向循环链表,里面记录了下一个和上一个的地址

posted @ 2019-12-03 14:16  liqking  阅读(224)  评论(0)    收藏  举报