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. JMeter(1)-介绍+环境+安装+使用

    一.开发接口测试案例的整体方案: 分析出测试需求,并拿到开发提供的接口说明文档: 从接口说明文档中整理出接口测试案例(包括详细的入参和出参数据以及明确的格式和检查点). 和开发一起对评审接口测试案例 ...

  2. 我们是Android开发,我们都有着光明的未来

    作为一名程序员经常会逛v2ex论坛,前几天逛着玩的时候忽然发现一篇文章,标题非常吸引眼球名字叫中年危机的终极解法,作为一个步入而立之年的老人,心里非常激动,到底是啥解决法呢,于是迅速点进去查看. 进去 ...

  3. 守护线程_daemon

    守护线程_daemon 线程分为用户线程和守护线程 虚拟机必须确保用户线程(main)执行完毕 虚拟机不用等待守护线程(gc)执行完毕 如:后台记录操作日志,监控内存,垃圾回收等等 测试案例: pac ...

  4. Spring Cloud Alibaba - SkyWalking

    SkyWalking 简介 分布式链路跟踪是分布式系统的应用程序性能监视工具,专为微服务.云原生架构和基于容器(Docker.K8s)架构而设计: 也就是说Skywalking是用于微服务的" ...

  5. 实战爬取拷背漫画-Python

    ​  一.抓包获取链接 以爬取<前科者>为例 获取搜索链接 https://api.copymanga.com/api/v3/search/comic?limit=5&q=前科者 ...

  6. python数据统计之禅道bug统计

    背景 通过定期输出 每条产品的 BUG 情况,以此来反馈开发解决问题.测试跟进问题的情况:钉钉群推送提醒开发及时解决 以此我这边开始着手准备编写一个小工具,最终达到目的:自动定期发送统计报告,报告维度 ...

  7. GO语言安装以及国内镜像

    首先,下载GO语言,国内的话用 Go下载 - Go语言中文网 - Golang中文社区 (studygolang.com) 可能会快一点 然后根据自己的系统选择下载的包,我是win10,就选go1.1 ...

  8. 机器学习:单元线性回归(python简单实现)

    文章简介 使用python简单实现机器学习中单元线性回归算法. 算法目的 该算法核心目的是为了求出假设函数h中多个theta的值,使得代入数据集合中的每个x,求得的h(x)与每个数据集合中的y的差值的 ...

  9. ACL的配置

    一.实验拓扑 实验要求: 二.实验编址 三.实验步骤: 1.启动设备(全选) 2.配置端口IP R1: R2: R3: R4: 2.搭建OSPF网络: R1: R2: R3: R4: 4.配置ACL控 ...

  10. java对xml节点属性的增删改查实现方法

    package vastsum; import java.io.File; import java.io.FileWriter; import java.util.Iterator; import o ...