每天5道java面试题 -1

        思考好久不知道该发什么,直接发一大批面试题估计就会在收藏夹吃灰了,每天5道,大家可以在碎片时间看。

1.JDK和JRE有什么区别?

        JDK:Java Development Kit的简称,Java开发工具包,提供了Java的开发环境和运行环境。

        JRE:Java Runtime Environment的简称,Java运行环境,为Java的运行提供了所需环境。具体来说JDK其实包含了JRE,同时还包含了编译Java源码的编译器Javac,还包含了很多Java、程序调试和分析的工具。简单来说:如果你需要运行Java程序,只需安装JRE就可以了,如果你需要编写Java程序,组要安装JDK。

2.说一下HashMap的实现原理

        HashMap基于Hash算法实现,我们通过put(key,value)储存,get(key,value)来获取,当传入key时,HashMap会根据key.hashCode()计算出hash值,根据hash值将value保存在bucket中,当计算出的hash值相同时,我们称之为hash冲突,HashMap的做法是使用链表和红黑树储存相同hash值的value,当hash冲突的个数比较少时,使用链表否则使用红黑树。

3.说一下HashSet的实现原理

        HashSet是基于HashMap实现的,HashSet底层使用HashMap来保存所有元素,因此HashSet的实现比较简单,相关HashSet的操作,基本都是直接调用底层HashMap的相关方法来完成,HashSet不允许重复的值。

4.Array和ArrayList的区别

        Array可以储存基本数据类型和对象,ArrayList只能储存对象

        Array是固定大小的,ArrayList大小可以自动扩展

        Array内置方法没有ArrayList多,比如add、removeAl、iteration等方法只有ArrayList有

5.如何实现Array和List之间的转换

        Array转List:使用Array.asList(array)进行转换

        List转Array:使用List自带的toArray()方法

//list to array
List list = new ArrayList();
list.add("差点");
list.add("资深程序员");
Object [] o = list.toArray();
for(Object obj:o){
    System.out.println(obj);
}

//array to list 
String [] array = new String[]{"差点","资深程序员"};
System.out.println(Arrays.asList(array));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

差点资深程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值