2022-8-6 第八组 曹雨 集合知识补充
Collection
- Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。
- Java SDK不提供直接继承自Collection的类,Java SDK提供的类都是继承自Collection的“子接口”如List和Set。
List接口
- List是有序的Collection,使用此接口能准确的锁定每个元素的位置,可以通过索引访问List中的元素,类似于java数组。
- List中是允许存在相同的元素的。
- 实现List接口的常用类有LinkedList,ArrayList,Vector和Stack
Set接口
- Set就一种不包含重复元素的Collection,即任意的两个元素都不相等,Set最多有一个null元素。
- Set没有顺序指的是,不按照用户输入的顺序,其实内部有算法对其进行排序
- Set保证数据不重复的方法:保证数据类型的类要重写hashCode和equals方法。
Map
- 存储对值K-V key-value
- key不能重复,value是可以重复的,null可以作为键但是只能有一个,可以有多个key的值为null
- 没有顺序(不按照添加的先后顺序)
- 当get()方法返回null值时,即可以表示Map中没有该键,也可以表示该键所对应的值为null。
因此,在Map中不能由get()方法来判断Map中是否存在某个键,而应该用containsKey()方法来判断。
HashMap
- Map的实现类
- 内部结构在JDK1.7之前是:链表 + 数组,在JDK1.7之后是:链表 + 数组 + 红黑树
Hashtable(于HashMap几乎一模一样)
区别:
- HashMap是线程异步,线程不安全的,Hashtable是线程同步,线程安全
- HashMap的key是可以为null的,Hashtable是不可以为null
List集合的遍历:
-
for循环
-
for each
-
迭代器
使用迭代器执行删除操作可以保证万无一失Iterator<String> iterator = list.iterator(); //如果迭代器能找到下一个元素 while(iterator.hasNext()) { String s = iterator.next(); System.out.println(s); } System.out.println(list); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】