ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 容器API ![](https://box.kancloud.cn/526bf996172e84ccffb50bb1991d1f69_742x421.png) * Collection接口ー定义了存取一组对象的方法,其子接口Set和List分别定义了存储方式。 * Set中的数据对象没有顺序且不可以重复。 * List中的数据对象有顺序且可以重复。 * Map接口定义了存”键(key)-值(value)映射对的方法。 ## Collection API中的方法 ![](https://box.kancloud.cn/a3dad11c43af0973ff30e70668423f81_834x719.png) ## ArrayList * ArrayList可以存储不同类型的对象。 * 加入新元素时,会自动增加数组的大小。 * 如果你删除了列表中的某些元素,也会自动处理元素的移动问题。 ## 泛型类 像`ArrayList<E>`这样的特殊类,允许通过类型参数来指明使用的数据类型。 ## ArrayList主要方法 [点击查看](http://tool.oschina.net/uploads/apidocs/jdk-zh/index.html?help-doc.html) ## for-each遍历ArrayList时候的注意点 > 在遍历途中,你不能试图改变列表。 ## Comparable接口 > 只有实现Comparable接口的类,可以使用Collections.sort()方法。 > 实现Comparable接口之后,需要实现其中compareTo()方法。 ## LinkedList * LinkedList实际上是一个链表。 * ArrayList则是由数组实现的(顺序存储的数组)。 * LinkedList的操作与ArrayList是几乎相同的。 ![](https://box.kancloud.cn/92e529a422230aed6d105ced73100bc1_500x368.jpg) ## 迭代器 > 迭代器是允许用户以顺序的方式高效率的访问链表中每个元素的特殊对象。 迭代器提供的方法: | 方法 | 描述 | | --- | --- | | hasNext() | 如果列表中还存在其他元素,返回真 | | next() | 返回列表中的下一个元素 | | remove() | 删除由上一次next()方法所返回的元素。 | *大多数集合对象都可以通过iterator来获得对应的迭代器* ## 数学集合 HashSet和TreeSet > HashSet提供了Collection接口定义的多有操作。 > 元素不能重复且没有顺序。 > Set拥有集合框架中无与伦比的查询速度。 > HashSet的实现实际上使用了散列表。 | 运算 | 方法 | | --- | --- | | 并集 | addAll() | | 交集 | retainAll() | | 差 | removeAll() | | 超集或子集 | containsAll() | ## 请自学HashMap相关知识