java集合类面试题

java集合类面试题java集合类面试题1.请聊一下java的集合类,以及在实际项目中你是如何用的?注意说出集合体系,常用类,接口,实现类加上你所知道的高并发集合类,JUC在实际项目中引用,照实说就好了2.集合类是怎么解决高并发中的问题?线程非全的集合类ArrayListLinkedListHashSetTreeSetHashMapTreeMap实际开发中我们自己用这样的集合最多,因为一般我们自己写的业务代码中,不太涉及到多线程共享同一个集合的问题线程安全的集合类VectorHashTable

大家好,又见面了,我是你们的朋友全栈君。

java集合类面试题

1.请聊一下java的集合类,以及在实际项目中你是如何用的?

注意说出集合体系,常用类,接口,实现类
加上你所知道的高并发集合类,JUC
在实际项目中引用,照实说就好了
在这里插入图片描述
在这里插入图片描述

2.集合类是怎么解决高并发中的问题?

线程非全的集合类ArrayList LinkedList HashSet TreeSet HashMap TreeMap 实际开发中我们自己用这样的集合最多,因为一般我们自己写的业务代码中,不太涉及到多线程共享同一个集合的问题

线程安全的集合类Vector HashTable 虽然效率没有JUC中的高性能集合高,但是也能够适应大部分环境

主要是ConcurrentHashMap和CopyOnWriteArrayList

思路:先说一下哪些是非安全,普通的安全的集合类,JUC中高并发的集合类

3.Vector和ArrayList的区别是什么

在这里插入图片描述

4.ArrayDeque和LinkedList的区别是什么

在这里插入图片描述

5.List,Set,Map三者的区别?

在这里插入图片描述

6.集合框架底层的数据结构

在这里插入图片描述

7.HashMap和HashTable有何不同?

在这里插入图片描述

8.ArrayList和LinkedList有何区别?

在这里插入图片描述

9.集合和数组的区别

在这里插入图片描述

10.Java集合的快速失败机制 “fail-fast”?

在这里插入图片描述

11.遍历一个 List 有哪些不同的方式?每种方法的实现原理是什么?

在这里插入图片描述
在这里插入图片描述

12.HashSet如何检查重复?HashSet是如何保证数据不可重复的?

在这里插入图片描述

private static final Object PRESENT = new Object();
private transient HashMap<E,Object> map;

public HashSet() { 
   
    map = new HashMap<>();
}

public boolean add(E e) { 
   
    // 调用HashMap的put方法,PRESENT是一个至始至终都相同的虚值
	return map.put(e, PRESENT)==null;
}

13.BlockingQueue是什么?

在这里插入图片描述

14.在Queue中poll()和remove()有什么区别?

在这里插入图片描述

15.ConcurrentHashMap和 Hashtable的区别?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

16.comparable和comparator的区别?

在这里插入图片描述

17.你能说一下ArrayList在增删的时候是怎么做的么?主要说一下他为啥慢。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
删除其实跟新增是一样的,不过叫是叫删除,但是在代码里面我们发现,他还是在copy一个数组。
在这里插入图片描述
在这里插入图片描述

18.哪些集合类是线程安全的?哪些不安全?

在这里插入图片描述
在这里插入图片描述

19.讲讲红黑树的特点?

在这里插入图片描述

20.怎么确保一个集合不能被修改?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/156234.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql查询表占用空间大小_oracle查看表空间大小

    mysql查询表占用空间大小_oracle查看表空间大小MySQL查看库,表占用空间大小

    2025年9月6日
    5
  • httpclient4 请一定设置超时时间

    httpclient4 请一定设置超时时间httpclient4的设置方式和httpclient3有所不同,代码如下:HttpClienthttpclient=newDefaultHttpClient();httpclient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT,Config.20000);//连接时间20shttp

    2022年7月22日
    9
  • 基于Apache的反向代理服务器

    基于Apache的反向代理服务器众所周知Apache是目前最优秀的HTTP服务器。实际上它不仅能当作服务器使用,也能够被用来架设代理服务器。本文就如何使用Apache架设HTTP代理服务器进行说明。本文将基于Win32版的Apache2.0.47进行说明。以前的Apache1.x版配置方法稍有不同,但这里不作说明。 首先是Apache的安装。从http://www.apache.org上下载Apache的安装

    2022年10月20日
    2
  • Jenkins学习——Jenkins是什么

    Jenkins学习——Jenkins是什么Jenkins是什么     对于Jenkins是什么,百度百科给的答案是这样的:Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。     通过这句话,我们可以得到这样的一个信息——Jenkins是一个开源的东东,好像跟持续集成开发有关系(然而我们并不知道持续集成开发是什么东东)。     通俗的说,就我目前的理解

    2022年5月5日
    48
  • java linkhashset_java中集合怎么定义

    java linkhashset_java中集合怎么定义LinkedHashSet是Set集合的一个实现,具有set集合不重复的特点,同时具有可预测的迭代顺序,也就是我们插入的顺序。并且linkedHashSet是一个非线程安全的集合。如果有多个线程同时访问当前linkedhashset集合容器,并且有一个线程对当前容器中的元素做了修改,那么必须要在外部实现同步保证数据的冥等性。下面我们new一个新的LinkedHashSet容器看一下具体的源码实现。…

    2022年10月12日
    4
  • 太阳高度角方位角计算公式_太阳高度角方位角

    太阳高度角方位角计算公式_太阳高度角方位角太阳高度角/方位角计算公式本文不在此介绍太阳高度角、方位角是什么,相关概念请移步Wikipedia。鉴于很多相关专业人员需要计算太阳高度角、方位角,而网上介绍的公式多数或是不正确,或是杂乱无章。作者

    2022年8月1日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号