Java集合
开发工具与关键技术:
作者:
撰写时间:2020年8月7日
在集合体系中最主要的三个接口是:List,Set,Map,其中list和set是继承自collection接口,Map也属于集合系统但是与collection接口不同。
List是有序集合,允许有相同的元素。使用 List 能够精确地 控制每个元素插入的位置,用户能够使用索引(元素在 List 中的位置,类 似于数组下标)来访问 List 中的元素,与数组类似;list主要有三个实现类分别是ArrayList、LinkedList和Vector。ArrayList是线程不安全的,vector是线程安全的(同步),这两个类底层都是有数组实现的 LinkedList是一双链表,在添加和删除元素时具有比ArrayList更好的性能。
下图所示;这是一个用list集合的一种简单写法,首先创建一个String类型的list集合,使用add()给list集合赋值,然后用for循环遍历list集合,把集合输出到控制台。
Set不允许元素重复;HasSet和TreeSet是两个实现类,无序,不重复,不同步,
HashSet 是按照 Hash 算法来存储集合中的元素,因此具有很好的存取和查找性能,不能保证元素的排列顺序,顺序可能与添加顺序不同,顺序也有可能发生变化。Set 集合中添加两个相同的元素,则后添加的会覆盖前面添加的元素, 即在 Set 集合中不会出现相同的元素。
TreeSet实现了 Set 接口,是一个有序的 Set,这样就能从 Set 里面提取一个有序序列。
Map是存放一对值的最大接口,即接口中的每个元素都是一对,以 key➡value 的形式保存。