Java(集合框架)笔记

本文深入介绍了Java集合框架的基础知识,包括List、Set、Map等核心接口及其主要实现类的特点与应用场景,对比了不同集合类之间的差异,并探讨了泛型、迭代器模式及工具类的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、集合框架(Collection and Map  集合于映射, 容器类)
1)List 元素有先后次序的集合 元素有index位置, 元素
可以重复  继承于Collection接口, 实现类:ArrayList,
Vector , LinkedList

ArrayList与Vector的区别:
ArrayList不是线程安全  Vector是线程安全的
ArrayList与Vector都有一个初始的容量的大小
Vector的增长是增长自己的2倍
ArrayList在源代码中是增长自己的1.5倍
Vector可以自定义初始容量的大小
ArrayList不可以自定义初始容量的大小

2)Set元素无序, 不能重复添加 是数学意义上的集合 继承与Collection
接口, 实现类:HashSet(是一个只有key的HashMap) 
3)Collection集概念, 没有说明元素是否重复和有序 使用集合的根接口


很少直接使用 其他集合都是实现类:ArrayList, HashSet
4)Map 描述了:(key:value)成对放置的集合, key不重复
Value可以重复 ,key重复算一个 实现类:HashMap(散列表算法实现)
TreeMap(二叉排序树实现 利用key排序) Map适合检查查找
2、java泛型  
1)java5以后提出的语法现象, 在编译期间检查的类型约束 运行期
不检查泛型
2)可以用来约束类中元素的类型
3、HashMap vs Hashtable
HashMap 新  非线程安全  不检查锁  快
Hashtable 旧  线程安全  检查锁  慢一点
4、集合的迭代(遍历算法)(模仿了数鸡蛋的方法)
1、java使用Iterator接口描述了迭代模式操作
Iterator中的方法模式化设计 专门配合while循环操作
2、 Iterator的实例可以从集合对象获得 是这个集合的一个
元素序列视图  默认包含了一个操作游标 在第一个元素之前
hasNext()方法 可以检查游标是否有下一个元素  next()方法
移动游标到下一个元素并且返回这个元素引用 使用while配合
这两个方法  可以迭代处理集合的所有元素
3、迭代时候可以利用迭代器remove()方法 删除刚刚迭代的元素
在迭代过程中 不能使用集合方法(add, remove, set)更改集合
元素
5、Collections  集合的工具类  , Arrays数组的工具类
排序(sort 按自然排序 从大到小)  二分查找(binarySearch) 
打乱(shuffle)  填充(addAll)
6、比较大小
Compareble可以比较的 用于类实现 实现这个接口表示:这个类的
实例可以比较大小的 可以进行自然排序   Comparable的实现必须
与equals()的结果一致 就是相等的对象比较结果一定是 0


Comparator比较工具, 用于临时定义比较规则 不是默认比较规则
7、java中的包装类
包装类可以把基本类型包装为对象类型
有八种包装类
int  Integer
long Long
byte Byte
short Short
float Float
double Double
boolean Boolean
char Character
自动包装(auto boxing/ unboxing)
Integer i = 2;// i = new Integer(2)
Object o = 3.5
包装类是fianl类
包装类的对象是不变的 与字符串类似(不变模式)
包装类覆盖了toString  equals  hashcode compareTo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值