java 集合特性面试必备
2024-10-17 10:02:22
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多线程开发系列之三:线程这一辈子(线程的生命周期)
- mysql备份恢复
- object转化为string
- zabbix-web界面图形中文乱码解决方法
- android 逆向project smail 语法学习
- sql查询优化整理
- hdu_1370Biorhythms(互素的中国剩余定理)
- [再寄小读者之数学篇](2014-06-20 求极限---Jordan 不等式的应用)
- Go基础系列:互斥锁Mutex和读写锁RWMutex用法详述
- golang 开发gui
- Oracle 数据库逻辑结构.md
- C#编程经验-选择结构和循环结构
- Spring Http Invoker使用简介
- Android四大组件之一 -- Service详解
- 电源PI相关知识讲解
- IT人员如何有效规划自己时间
- [SHOI2008]小约翰的游戏
- xampp使用技巧及问题汇总
- window.jQuery || document.write(";<;script src=&#39;__PUBLIC__/assets/js/jquery.js&#39;>;";+";<;";+";/script>;";)
- 个人的Linux实用命令