• 基础知识点二


    18.java 容器都有哪些?

    List:存放有序,列表存储,元素可重复(ArrayList(数组)、LinkedList(链表)、Vector(线程安全的数组))

    Set:无序,元素不可重复(HashSet(HashMap以Key为存储)、TreeSet(红黑树数据结构存储)、LinkedHashSet(LinkedHashMap为数据结构))

    Map:无序,元素可重复(HashMap(哈希表)、HashTable(线程安全哈希表)、LinkedHashMap()、TreeMap)

    19.Collection 和 Collections 有什么区别?

    Collection是集合类的顶级接口,为集合提供最大化的统一操作方式,其直接继承接口有List与Set;

    Collections是集合类的工具类/帮助类,包含各种有关集合操作的静态方法

    20.List、Set、Map 之间的区别是什么?同第一条

    21.HashMap 和 Hashtable 有什么区别?

    HashMap可以有null的key和Value,而Hashtable不能有null;

    HashMap线程非安全,Hashtable线程安全

    22.如何决定使用 HashMap 还是 TreeMap?

    HashMap是哈希表的数据结构,TreeMap是红黑树数据结构

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

    开辟一个Entry的数组,保存键值对时,通过计算该键的哈希值对应数组的下标,如果该下标位置有数据,比较key是否一致,一致覆盖value,不一致保存next

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

    以HashMap的key作为保存数据结构,所以hashset保存的数据是无序、不可重复

    25.ArrayList 和 LinkedList 的区别是什么?

    ArrayList 数据结构是数组,LinkedList 是链表结构

    26.如何实现数组和 List 之间的转换?

    String[] array2 = testList.toArray(new String[testList.size()]);

    List<String> list = Arrays.asList(arrays);//不能添加删除元素

    ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(arrays));

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

    ArrayList 线程不安全,Vector 线程安全

    28.Array 和 ArrayList 有何区别?

    Array数组长度不可变,数据类型固定;ArrayList容量可变,可存储不同数据类型

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

    都是返回列表的头元素且移除,不同点是列表为空时poll返回null,remove抛出异常NoSuchElementException

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

    vector,hashtable

    31.迭代器 Iterator 是什么?

    迭代器是一种设计模式,定义了操作集合元素的统一接口,开发人员不需要了解集合的底层结构,就可以简单遍历集合元素

    32.Iterator 怎么使用?有什么特点?

    集合类使用方法iterator()返回一个iterator实例,使用hashnext判断是否还有元素,next返回下一个元素,remove()将迭代器新返回的元素删除。

    Iterator遍历集合元素的过程中不允许线程对集合元素进行修改,否则会抛出ConcurrentModificationEception的异常。

    Iterator遍历集合元素的过程中可以通过remove方法来移除集合中的元素。

    33.Iterator 和 ListIterator 有什么区别?

    Iterator 只可获取或删除集合元素;ListIterator可以获取、删除及添加集合元素

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

    Collections.unmodifiableList();Collections.unmodifiableMap();Collections.unmodifiableSet();

     

  • 相关阅读:
    HDU1372,BFS象棋马走日
    看完一本小的算法书一个总结吧
    最小生成树Prim
    Junit单元测试的简单使用(主要是在spring框架下的项目)
    并查集
    最新最实用的公式技巧大汇总!
    这款Office密码破解工具,无坚不摧!
    有了它,友谊的船说不翻就不翻!
    Word公式装逼技巧,你绝对不会!
    为什么MathType窗口变灰色
  • 原文地址:https://www.cnblogs.com/wbjgogogo/p/10491078.html
Copyright © 2020-2023  润新知