Java语法基础之集合-Set+集合-List

2022-07-28,,,,

1、集合(conllection(接口))

遍历时均可以使用迭代器

迭代器用法:

1、根据集合的对象获取到对应集合的迭代器

2、调用 hasNext() 判断是否还有下一个值

3、通过next()方法,获取下一个值

2、List

可以重复任意多个元素,包括null,遍历方式除了迭代器还有foreach、for循环

1、 ArrayList(基于数组)

线程不安全,有序的(添加顺序与输出顺序一致),因为数据基于数组,所以具有索引,可以根据索引,快速定位,所以查找和修改较快

添加和删除较慢 ,因为添加涉及到新建数组的创建以及数据的拷贝 此时消耗性能和内存较多

2、LinkedList(基于链表)

线程不安全,有序的(添加顺序与输出顺序一致),因为基于链表,所以扩容较为快速,所以添加元素较快

查询或者删除数据的时候需要遍历整个链表速度相对较慢

2、set

不可重复的,遍历方式除了迭代器还有foreach

1、 HashSet(set实现类)

线程不安全,无序的(添加顺序与输出顺序不一致),可以存放任意多个数据,包括null

底层基于HashMap,去重主要通过hashCode和equals共同决定

2、 TreeSet(set实现类)

线程不安全,无序的(添加顺序与输出顺序不一致),可以存放任意多个数据,不包括null,但是只能够同时存储同一种类型的数据

底层基于TreeMap,去重方式有两种:

自然排序:实体类实现Comparable接口

定制排序:实现Comparator 将比较器交给集合容器

本文地址:https://blog.csdn.net/WLK0423/article/details/109631273

《Java语法基础之集合-Set+集合-List.doc》

下载本文的Word格式文档,以方便收藏与打印。