1.ArrayList集合
ArrayList
是基于动态数组实现的列表。它允许存储重复元素,并且提供了对元素的随机访问。- 特点:支持快速的随机访问(通过索引),但在列表中间插入或删除元素时效率较低,因为这可能需要移动后续的元素。
图解
案例:ArrayList的简单使用
1.代码
2.效果
2.LinkedList集合
LinkedList
是双向链表实现的列表。每个元素都是一个单独的对象,内部包含数据以及对其前后元素的引用。- 特点:在任意位置插入和删除操作非常高效,但随机访问较慢,因为它需要从头或尾开始遍历到指定位置。
图解
案例:LinkedList的简单使用
1.代码
2.效果
3.Iterator 接口
Iterator
接口提供了一种方法来访问集合中的元素,而不需要暴露其底层表示。- 它定义了如
hasNext()
、next()
和remove()
等方法,用于迭代集合中的元素。是所有集合框架中用于遍历的标准方式之一。
案例:遍历ArrayList
1.代码
2.效果
4.HashSet集合
HashSet
实现了Set接口,不允许存储重复元素。它是基于哈希表实现的。- 特点:不保证元素的顺序;查找、添加和移除元素通常具有很好的性能。
案例:HashSet的简单使用
1.代码
2.效果
5.TreeSet集合
TreeSet
也是实现了Set接口的一个类,同样不允许有重复元素。它使用树结构存储元素。- 特点:保持元素按自然排序或者根据创建时提供的Comparator进行排序;可以高效地访问有序的数据集。
案例:TreeSet的简单使用
1.代码
2.效果
6.HaspMap集合
HashMap
提供了一个键值对存储结构,其中键是唯一的。它基于哈希表实现。- 特点:支持快速的查找、添加和删除操作;没有固定的顺序;键不能为null(除非使用特殊的构造函数)。
注:这个不重复是指的键名不重复
案例:HashMap的简单使用
1.代码
2.效果
7.TreeMap集合
TreeMap
类似于HashMap
,但它根据键的自然顺序或者通过自定义比较器进行排序。- 特点:适用于需要维持键的排序的情况;性能略低于
HashMap
,特别是当涉及到大量的插入和删除操作时。
案例:TreeMap的简单使用
1.代码
2.效果
8.Properties集合
Properties
继承自Hashtable
,用来处理配置文件,主要用于保存键值对形式的属性列表。- 特点:适合读写.properties格式的文件;键和对应的值都应该是字符串类型;提供了方便的方法来加载和存储属性列表。