Java List面试题汇总

1、你知道的List都有哪些?
ArrayList、LinkedList、Vector等。

2、List和Vector有什么区别?
Vector是List接口下线程安全的集合。

3、List是有序的吗?
List是有序的。

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

5、ArrayList和LinkedList的底层数据结构是什么?
ArrayList使用的是数组结构,LinkedList使用的是链表结构。

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

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

8、怎么给List排序?
使用List自身的sort方法,或者使用Collections.sort(list)方法;

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

10、List和Array之间如何互相转换?
List>Array使用toArray方法,Array>List使用Arrays.asList(array)方法,由于它是固定的,不固定的可以使用new ArrayList(Arrays.asList(array))。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Java SE 基础: 封装、继承、多态 封装: 概念:就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽...
    Jayden_Cao阅读 6,411评论 0 8
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,932评论 18 399
  • 传送门 解读阿里Java开发手册(v1.1.1) - 异常日志 前言 阿里Java开发手册谈不上圣经,但确实是大量...
    kelgon阅读 9,819评论 4 50
  • 丁墨,网络超人气作家,作品文路构思巧妙大胆,大多都是半言情小说。 2012年因为《 枭宠》一举成名(出版名为《 乖...
    张大婷123阅读 4,127评论 0 0
  • 就算见过这世界再多的污浊不堪 也要永远让内心澄澈受保护不被侵犯
    DarkBlue深蓝阅读 988评论 0 2