0928Java面试知识点准备

  1. List三个子集的特点?
    LinkedList线性链表集合,增删快,查询慢.
    ArrayLiST动态数组集合,查询快,增删慢.

  2. List,Set,Map之间的区别?
    List集合对象元素有序可重复,Set集合对象元素无序不可重复.Map集合无序,key不可重复,value可重复.List和Set存储的单列数据.而Map存储的是双列数据.

  3. List,Set,Map的实现类?
    List集合的实现类包括LinkedList,ArrayList,Vector.
    Map集合的实现类包括HashMap,LinkedHashMap(继承自HashMap)按照放入的顺序排序.HashTable线程安全集合.ConcurrentHashMap。
    Set集合的实现类包含HashSet(底层由HashMap实现,不可放入重复的值),TreeSet.LinkedHashSet(继承自HashSet集合,底层由LinkedHashMap实现.)

  4. HashMap和HashTable的区别?
    HashMap非线程安全,效率高.key value可以为空.
    HashTable线程安全,效率低,key value键值对不可以为空.否则会在插入数据的时候报错.

  5. List a=new ArrayList();与ArrayList a=nwe ArrayList();之间的区别在哪里?
    主要利用java中多态的特性,能够基于父类创建子类对象实例.向上造型.能够基于当前类创建该类对象实例.第一种的话属于类的对象实例,所以ArrayList中的部分方法是不能使用的,而第二种由于ArrayList继承自LIst所以不仅ArrayList的集合可以用,父类List中的方法也可以用.

java中的多线程和并发库

  1. 传统使用Thread类和Runnable接口创建线程的方式?
    通过创建类继承Thread类,重写run方法.
    通过实现Runnable接口,实现其中的run抽象方法.
    还有就是定时器任务如Timer+TimerTask创建定时器任务.同时上面的Thread类实际上是实现Runnable接口的,实际上实现的方法都是Runnable接口中的run方法.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章