美文网首页
2.Java容器

2.Java容器

作者: Rinma | 来源:发表于2020-09-18 00:03 被阅读0次

    1.Java的容器都有哪些?
    主要分为Collect和Map容器。
    其中Collect容器又细分为:Set、List、HashSet、TreeSet、LinkedHashSet、ArrayList、LinkedList、Verctor。
    Map容器分为:HashMap、HashTable、TreeMap、LinkedHashMap。

    2.Collection和Collections有什么区别?
    java.util.Collection是一个集合接口,提供了对集合对象的通用操作方法。List、Set、Queue都实现自Collection。
    java.util.Collections是一个包装工具类,提供了有关集合的静态方法。例如搜索、排序等。

    3.List、Set、Map之间的区别是什么?
    List、Set都继承自Collection接口。Map是与Collection同级的接口。
    List:元素可重复,插入有序。
    Set:元素不可重复,插入无需。
    Map:采用K:V方式存储数据,其中K唯一。

    4.HashMap和HashTable有什么区别?
    HashMap和HashTable都实现了Map接口。
    HashMap:KV都允许出现null值(可以出K:null、null:V、null:null的情况),HashMap是线程不安全的。
    HashTable:KV都不允许出现null值,HashTable是线程安全的。
    如果需要线程安全的业务场景,目前推荐的是ConcurrentHashMap,而非HashTable。

    5.如何决定使用HashMap还是TreeMap?
    HashMap的key由hashCode()实现,数据结构由链表、红黑树组成,key是无序的。
    TreeMap的key要求实现Compareble,数据结构由红黑树组成,key是字典序或者自定义序。
    如果需求结果有序,则使用TreeMap,否则使用HashMap。

    6.说一下HashMap的实现原理?

    7.说一下HashSet的实现原理?

    8.ArrayList和LinkedList的区别?

    9.如何实现数组和List之间的转换?
    数组转换List:arrays.asliat(arr)。
    List转换数组:list.toArray()。

    10.ArrayList和Vector的区别是什么?

    11.Array和ArrayList有何区别?

    12.在Queue中,poll()和remove()有什么区别?

    13.哪些集合类是线程安全的?

    14.迭代器Iterator是什么?

    15.Iterator怎么使用?有何特点?

    16.Iterator何ListIterator有什么区别?

    17.怎么确保一个集合不能被修改?

    相关文章

      网友评论

          本文标题:2.Java容器

          本文链接:https://www.haomeiwen.com/subject/tajkyktx.html