欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-05-12 13:18:01
1、集合(conllection(接口))遍历时均可以使用迭代器迭代器用法:1、根据集合的对象获取到对应集合的迭代器2、调用 hasNext() 判断是否还有下一个值3、通过next()方法,获取下一个值2、List可以重复任意多个元素,包括null,遍历方式除了迭代器还有foreach、for循环1、 ArrayList(基于数组)线程不安全,有序的(添加顺序与输出顺序一致),因为数据基于数组,所以具有索引,可以根据索引,快速定位,所以查找和修改较快添加和删除较慢 ,因为添加涉及到新建...

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