zoukankan      html  css  js  c++  java
  • 基础知识点二

    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();

     

  • 相关阅读:
    GAC的理解及其作用 [转]
    Binding Policy in .NET/ Assembly search order (Bin/GAC)
    Batch update
    Table-Valued Parameters in SQL Server 2008 (ADO.NET)
    EXT的bug 布局border 和 grid的cellediting
    ext 的controller中的refs的使用方法
    Ext 修改内容之后 不做任何动作 再次修改时的数据是原来第一次修改前的数据
    php 与mysql 数据库
    前端开发和后端开发
    http 你造吗?
  • 原文地址:https://www.cnblogs.com/wbjgogogo/p/10491078.html
Copyright © 2011-2022 走看看