collection

集合体系
  • 数据结构栈和队列
    栈结构 :先进后出
    队列结构 :先进先出
  • 数据结构之数组和链表
    数组结构:查询快、增删慢
    队列结构 :查询慢、增删快
  • List集合概述
    有序集合(也称为序列),用户可以精确控制列表中每个元素的插入位置。用户可以通过整数索引访问元素,并搜索列表中的元素;
    与Set集合不同,列表通常允许重复的元素;
  • List集合特点
    有索引;
    可以存储重复元素;
    元素存取有序 ;
collection体系

list

q:集合中存放的是什么类型?

引用类型  存的不是对象,而是对象的引用类型,存入int型的也会自动装配成integer

q:ArrayList和linkedList区别?

ArrayList特点:结构实现,查询慢、增删快

linkedList特点: 底层是链表结构实现,查询慢、增删快

set

  • hashSet集合的特点
    元素存取无序
    没有索引、只能通过迭代器或增强for循环遍历,不能存储重复元素

    哈希值 :是JDK根据对象的地址或者字符串或者数字算出来的int类型的数值
hashSet唯一性保证原理
  • TreeSet集合概述
    元素有序,可以按照一定的规则进行排序,具体排序方式取决于构造方法
    TreeSet():根据其元素的自然排序进行排序
    TreeSet(Comparator comparator) :根据指定的比较器进行排序
    没有带索引的方法,所以不能使用普通for循环遍历
    由于是Set集合,所以不包含重复元素的集合

Q: hashset 和Treeset 的区别是?

hashset 基于哈希表实现,无序,不重,可以放入一个null值

treeset 基于二叉树实现,有序,不重, 不允许为空

Q:HashSet是如何保证元素唯一性的呢?

是通过元素的两个方法,hashCode和equals来完成。

Q:TreeSet是如何保证元素唯一性的呢?

底层数据结构是二叉树,使用二叉树的compareTo方法return 0.

Q:Comparable和Comparator区别?

Comparator位于包java.util下需要元素对象实现Comparable接口,覆盖compareTo方法

Comparable位于包   java.lang下Comparable,需要元素对象实现Comparable接口,覆盖compareTo方法。

Q:List、Map、Set三个接口,存取元素时,各有什么特点?

List  以特定次序来持有元素,可有重复元素;

Set  无法拥有重复元素,内部排序(无序);

Map 保存key-value值,value可多值。

map

map体系
  • Map集合概述

interface Map<K,V> K:键的类型;V:值的类型

  • Map集合的特点
    键值对映射关系
    一个键对应一个值
    键不能重复,值可以重复
    元素存取无序

Q: HashMap和Hashtable的区别?

Hashtable是线程安全的 不可以存入null键null值

HashMap线程不安全  可以存入null键null值

java 集合特性面试必备的更多相关文章

  1. 【转】Java集合框架面试问题集锦

    Java集合框架(例如基本的数据结构)里包含了最常见的Java常见面试问题.很好地理解集合框架,可以帮助你理解和利用Java的一些高级特性.下面是面试Java核心技术的一些很实用的问题. Q:最常见的 ...

  2. 基础篇:JAVA集合,面试专用

    没啥好说的,在座的各位都是靓仔 List 数组 Vector 向量 Stack 栈 Map 映射字典 Set 集合 Queue 队列 Deque 双向队列 关注公众号,一起交流,微信搜一搜: 潜行前行 ...

  3. Java集合框架面试题目

    1.为什么Map接口不继承Collection 接口? Set是无序集合,并且不允许重复的元素 List是有序的集合,并且允许重复的元素 而Map是键值对 它被视为是键的set和值的set的组合 Ma ...

  4. Java集合框架 面试问题整理

    简介 java集合类是java.util 包中的重要内容.java集合框架包含了大量集合接口以及这些接口的实现类和操作他们的算法. java集合框架图 主要提供的数据结构 List 又称有序的Coll ...

  5. Java程序员面试必备:Volatile全方位解析

    前言 volatile是Java程序员必备的基础,也是面试官非常喜欢问的一个话题,本文跟大家一起开启vlatile学习之旅,如果有不正确的地方,也麻烦大家指出哈,一起相互学习~ 1.volatile的 ...

  6. Python/Java程序员面试必备常用问题解析与答案

    转自AI算法联盟,理解python技术问题,以及一些常见的java面试中经常遇到的问题,这些面试问题分为四类: 是什么(what) 如何做(how) 说区别/谈优势(difference) 实践操作( ...

  7. java集合框架面试要点整理

  8. 【新手向】如何学习Java集合

    前言 只有光头才能变强. 文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y 如果认识我的同学可能就知道,我已经写过很多系列级 ...

  9. Java提高班(四)面试必备—你不知道的数据集合

    导读:Map竟然不属于Java集合框架的子集?队列也和List一样属于集合的三大子集之一?更有队列的正确使用姿势,一起来看吧! Java中的集合通常指的是Collection下的三个集合框架List. ...

随机推荐

  1. 博主从零开始学习HTML(入门基础)

    目录 从零开始学习HTML(入门基础) 互联网三大基石 HTML的Head标签中的常用元素 字体格式化标签 字符实体,以下写最常用的几个 html常用标签及解析 a标签 img标签 媒体标签audio ...

  2. PPT学习总结

    [一]关注 1. 内容 2. 结构 3. 配色 4. 素材 5. 构图 6. 动画 [二]技巧 1. 颜色对比 2. 动画突出 [三]参考 https://www.zhihu.com/question ...

  3. Seaborn基础画图实例

    使用seaborn画图时,经常不知道该该用什么函数.忘记函数的参数还有就是画出来的图单调不好看. 所以,本人对seaborn的一些常用的画图函数,并结合实例写成了代码,方便以后查询和记忆. 若代码或注 ...

  4. alpakka-kafka(8)-kafka数据消费模式实现

    上篇介绍了kafka at-least-once消费模式.kafka消费模式以commit-offset的时间节点代表不同的消费模式,分别是:at-least-once, at-most-once, ...

  5. java批量下载文件为zip包

    批量下载文件为zip包的工具类 package com.meeno.trainsys.util; import javax.servlet.http.HttpServletRequest; impor ...

  6. IIS 站点一键导入 导出

    C:\Windows\System32\inetsrv\appcmd list site /config /xml > c:\sites.xml C:\Windows\System32\inet ...

  7. WPF简易聊天室

    一.聊天界面如下

  8. WPF 窗口 最前端 Topmost Owner

    WPF 中,如果我们想把某个窗口一直置于最前端,那么可以设置Topmost=true; 但是,这样就会有另外一个问题,就时你这个窗口,会一直处于最顶层,即使你想切换到其他程序的时候. 比如,你自己写的 ...

  9. Qt生成和调用动态库dll,和静态库.a(windows和linux通用)

    系统1:ThinkPad T570.Windows10.QT5.12.2(Qt Creater 4.8.2)一.动态库.dll的创建和调用1.在qtcreater中按如下步骤创建动态库,动态库名为my ...

  10. 10.SpringMVC之格式化、校验

    数据格式化 数据格式化的注解: 数据校验JSR303 Hibernate Validator扩展注解 启动 springMVC数据校验 转换.格式化.校验出错处理: