zoukankan      html  css  js  c++  java
  • java集合面试题

    1,数组和集合有什么区别?

    答:数组是固定的长度,存储的基本数据类型是引用数据类型,存储的元素必须是同数据类型的;集合的长度是可以变,只能存储引用数据类型,存储发对象可以是不同数据类型。

    2,collection接口的子接口有哪几个?

    答:set接口和list接口。

    3,set接口的实现类主要有哪些?

    答:主要有HashSet、TreeSet、LinkedHash三个常用的实现类。

    4,List接口实现类主要有哪些呢?

    答:主要有ArrayList、LinkedList、vector,其中vector老以前的。

    5,Map接口的实现类有?

    答:主要有三个常用的HashMap、TreeMap、LinkedHashMap接口,这三个接口和set接口有点相似,但是它们的区别是Map存储的是键值对。而set存储的是单个元素。

    6,迭代器Iterator是什么呢?

    答:Iterator接口提供遍历任何collection的接口的,特点只能单向遍历,但是很安全,它可以保证在当前遍历的集合被更新的时候,就会抛concurrenModificationException异常的。

    7,如何对Obiect的list排序?

    答:对于object数组进行排序,可以使用Arrays.sort()方法的,如果我们要对object的集合进行排序,我们需要的是使用collections.sort()方法的。

    8,你是如何保证一个集合线程安全的呢?

    答:对于安全问题vector、hashtable、properties、stack它们都是同步的类的,之所以它们的线程都是安全,当然了可以被使用在多线程环境中,然后就是当我们使用collections.synchronizedList(list)方法时,也可以保证list类的线程安全问题的。

    9,你知道Iterator符合哪个设计模式?

    答:是Iterator设计模式的。

    10,你是否知道Hashset实现了哪个数据结构呢?

    答:其实hashset内部是实现了HashMap的。

    11,你可以说一下array和arraylist的区别吗?

    答:array的大小是固定的,和object有点类似,然而arraylist它是同质和异质元素的集合的。

    12,你了解什么是死锁吗?

    答:死锁是当两个线程都在等待对方执行完毕才能执行的时候就会发生死锁的,产生死锁最终两个线程都会陷入了一个无线的等待中。

    13,你知道ArrayList的优点是什么吗?

    答:查询的速度快。

    14,请问HashMap和HashSet的区别是什么呢?

    答:hashmap是使用的是唯一键获取对象的,hashmap相对于hashset比较快一些;hashmap存储是键值对,而ahshset存储是对象。

     

  • 相关阅读:
    android 源码编译 问题 列表
    springboot总结
    设计模式学习笔记
    JWT入门1
    oauth2入门github
    mybatis面试题
    shiro入门
    knife4j swagger API文档
    pahole安装(编译)
    goMySql的逆向工程
  • 原文地址:https://www.cnblogs.com/1964lxq/p/14435441.html
Copyright © 2011-2022 走看看