JavaList面试题汇总

1、List集合:ArrayList、LinkedList、Vector等。

2、Vector是List接口下线程安全的集合。

3、List是有序的。

4、ArrayList和LinkedList数据结构不一样,前者用在查询较多的场合,后者适用于插入较多的场合。

5、ArrayList使用的是数组结构,LinkedList使用的是链表结构。

6、Jdk1.7之前ArrayList默认大小是10,JDK1.7之后是0,JDK差异,每次约按1.5倍扩容。

7、List中的Vector才是线程安全的,其他要实现线程安全使用工具类Collections.synchronizedList(new ArrayList())方法。

8、使用List自身的sort方法,或者使用Collections.sort(list)方法;

9、Arrays.asList使用的是final数组,并且不支持add方法,不支持扩容。

10、List>Array使用toArray方法,Array>List使用Arrays.asList(array)方法,由于它是固定的,不固定的可以使用new ArrayList(Arrays.asList(array))。

11、 ArrayList和LinkedList的区别:

1)ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 (LinkedList是双向链表,有next也有previous)

2)对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。

3)对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。

Java Map面试题汇总

1、常用的Map集合:HashMap、HashTable、LinkedHashMap、ConcurrentHashMap。

2、Collection是List、Set父接口不是Map父接口。

3、HashMap不是线程安全的。线程安全的有HashTable、ConcurrentHashMap、SynchronizedMap,性能最好的是ConcurrentHashMap。

4、使用HashMap要注意避免集合的扩容,它会很耗性能,根据元素的数量给它一个初始大小的值。

5、HashMap是数组和链表组成的,默认大小为16,当hashmap中的元素个数超过数组大小*loadFactor(默认值为0.75)时就会把数组的大小扩展为原来的两倍大小,然后重新计算每个元素在数组中的位置。

6、按添加顺序使用LinkedHashMap,按自然顺序使用TreeMap,自定义排序TreeMap(Comparetor c)。

7、HashMap的链表结构设计是用来解决key的hash冲突问题的。

8、HashMap的键值都可以为NULL,HashTable不行。

9、key的hash冲突,如果key equals一致将会覆盖值,不一致就会将值存储在key对应的链表中。

10、先根据key的hashcode值找到对应的链表,再循环链表,根据key的hash是否相同且key的==或者equals比较操作找到对应的值。

11、HashMap不是线程安全的,效率高,允许有null的键和值。线程安全,效率低,不允许有null的键和值。

12、HashSet和HashTree的区别:HashSet哈希表实现,数据是无序的,可以放入一个null值。TreeSet二差树实现,数据是自动排好序的,不允许放入null值。

String经典面试题

1、String不是基本数据类型。

2、String是final类型的,不可变。

3、比较字符串的值是否相同用equals,比较字符串对象是否同一个用==。

4、jdk7+中的switch可以使用String类型。

5、创建了两个,”abc”本身创建在常量池,通过new又创建在堆中。

6、String、StringBuffer、StringBuilder最大的不同是String不可变,后者可变。StringBuffer是线程安全的,StringBuilder线程不安全速度较快。

7、trim去掉字符串首尾的空白字符。

8、既然String是final的,所以不能被继承。

9、可以自定义java.lang.String类并编译成功,但不能被加载使用,具体请学习类加载机制。

10、String > byte[] 通过String类的getBytes方法;byte[] > String通过new String(byte[])构造器。

你可能也喜欢:

  1. 阿里蚂蚁金服中间件(Java 4轮面试题含答案):Redis缓存+线程锁+微服务等
  2. Redis系列教程(八):分布式锁的由来、及Redis分布式锁的实现详解
  3. 史上最全Spring面试71题与答案
  4. 要成为一个 Java 架构师得学习哪些知识以及方法?
  5. 最新2019 蚂蚁金服4面(Java)面试题
  6. Java经典基础与高级面试36题和答案

BAT Java面试笔试33题:JavaList、Java Map等经典面试题!答案汇总!相关推荐

  1. java集合笔试编程题_Java 基础算法及编程笔试题集合

    1. 斯诺克台球共有15个一分球,2,3,4,5,6,7分球各一个,规则是先打一个最低分球,然后可以打一个其他分值的球,如此反复,如果台面还有更低分值的球,打入的高分球计分,同时拿出来放回原位置,要求 ...

  2. 京东java笔试_2017阿里,百度,京东java面试+笔试大合集,2018的你会吗?

    2017阿里,百度,京东java面试+笔试大合集 1.阿里 面试(一二面合集) 1.介绍一下你自己. 2.介绍一下你认为做的最好的一个项目. 3.请用五分钟的时间把你做的项目的流程图画一下. 4.项目 ...

  3. java面试笔试资料 百度网盘

    面试宝典:微软.谷歌.百度.腾讯等各大公司笔试面试题整理全版 /面试宝典:微软.谷歌.百度.腾讯等各大公司笔试面试题整理全版 分享时间:2014-11-07 09:01分享用户:东东***07文件大小 ...

  4. Java面试笔试考点精讲视频教程

    Java面试笔试考点精讲视频教程 Java作为目前比较火的计算机语言之一,连续几年蝉联最受程序员欢迎的计算机语言榜首,因此每年新入职Java程序员也数不胜数.很多java程序员在学成之后,会面临着就业 ...

  5. Java面试之场景题汇总

    Java面试之场景题汇总 1. HashMap链表长度大于8后一定会转化为红黑树吗 2. ConcurrentMashMap分段锁之间加了什么锁,读写之间是互斥的吗? 3. 三次握手后如果一直不连接会 ...

  6. 背包问题 2020年小米校招JAVA岗笔试第二题

    对于背包问题:例如小偷东西问题 如上图 小偷最多可以带走重量位20.要尽可能带走多的商品. 所以应该设置数组capacity[20+1], 商品itmes [5+1] 其中,capacity[0]=0 ...

  7. java常见笔试编程题(一)

    java常见笔试编程题(一) 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串.但是要保证汉字不被截半个,例如"人abc",应该截为"人ab& ...

  8. Java面试之场景题(精准到阿里看到都哇哇完)

    Java面试之场景题汇总 目录 1. HashMap链表长度大于8后一定会转化为红黑树吗 2. ConcurrentMashMap分段锁之间加了什么锁,读写之间是互斥的吗? 3. 三次握手后如果一直不 ...

  9. java面试总结(一)-----如何准备Java初级和高级的技术面试

    java面试总结(一)--如何准备Java初级和高级的技术面试 本文内容来自:https://mp.weixin.qq.com/s?__biz=MzAxNDMwMTMwMw==&mid=224 ...

最新文章

  1. DuiLib的Combo控件点击无响应的问题
  2. idea swagger生成接口文档_spring boot集成Swagger-UI接口文档
  3. poj 2151 Check the difficulty of problems
  4. 安装Ubuntu时的硬盘分区方案
  5. Mysql解决存入表情报错的问题,调整编码为utf8mb4
  6. Angular专题系列之一:初识Anjularjs
  7. 斐讯k1潘多拉专版固件_斐讯路由器K2刷机-斐讯k1-k2华硕及潘多拉固件下载__飞翔下载...
  8. 【Mimics】基于心脏ct影像重建3d模型 孔洞修复平滑处理 及 合并导出
  9. 视频下载转换器:MovieSherlock for Mac
  10. Linux Syslog日志服务器的搭建
  11. oracle显示连接超时,Oracle 12179:tns:连接超时的问题
  12. Python|猜球博弈
  13. 学完教程,不知道接下去从哪里开始做自己的第一个APP,怎么办?酷课堂iOS交流群问答(201902期)
  14. Genin.一日一进步
  15. 客户端:Lync 2011 for Mac体验
  16. SSL peer shut down incorrectly
  17. HttpsCA证书的申请和安装
  18. VS2017创建DLL文件并调用
  19. 微波电子线路之集总参数元件(1)
  20. Python语言程序与基础(第二版)

热门文章

  1. Be My Eyes app:我是你的眼
  2. sql 为什么要用where 1=1或者where 1 =0 ?
  3. Parquet格式描述
  4. 首个开源 Linux 系统登陆火星,占有率超 Windows,一同登录还有一款安卓手机芯片...
  5. 终极教程,带具体实验现象,1个GPIO控制2个LED显示4种状态,欢迎讨论!
  6. 学习网站(不断更新)
  7. VC6.0常见英文错误对照表
  8. STM32 —— LIN
  9. elasticsearch mongodb mysql_Elasticsearch 与 Mongodb 数据同步问题
  10. android区块链 钱包_区块链钱包Cashbox 开发工程师聊一聊开源