(面试题)ArrayList,HashSet以及HashMap(2019年10月23日)

Posted starlets

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(面试题)ArrayList,HashSet以及HashMap(2019年10月23日)相关的知识,希望对你有一定的参考价值。

1.看如下代码会输出什么

        Integer i1 = 120 ;
        Integer i2 = 120 ;
        Integer i3 = new Integer(120);
        Integer i4 = new Integer(120);
答: Integer 在类加载的时候会先在静态区中初始化好-128 127 之间的数值,如果在这个范围则直接重复使用,否则在堆中new一个Integer
     120:true    由于10在范围内,所以使用共用静态区中的Integer 
     1000:false   由于1000在范围外,所以在堆中重新new一个Integer

2.ArrayList可以有重复的元素吗?元素是有序的吗?
有重复的元素,元素是有序的

 3.ArrayList和Vector有什么区别

  ArrayList是线程不安全的,效率高

  Vector是线程安全的,效率低

4.有23个对象加入到HashSet中,初始化最小为多少

  23/0.75=30.66...<32=2^5

所以初始化32个最好,又不会扩容。也不会浪费空间

5.写一个迭代器

//        迭代器遍历
        Iterator<String> iterator =  set.iterator();
        while(iterator.hasNext()){
            System.out.println(iterator.next()); 
        }

 

以上是关于(面试题)ArrayList,HashSet以及HashMap(2019年10月23日)的主要内容,如果未能解决你的问题,请参考以下文章

最强福利!史上最全的JAVA面试题

BAT研发面试36题总结:Spring+Redis+Docker+Dubbo+高并发架构

面试题java中高以上必会技能

Java集合面试题

Java集合Java面试题

Java集合Java面试题