集合(Collection)
- 可以是不同类型的;(泛型:泛型的本质是参数化类型,也就是所操作的数据类型被指定为一个参数。)使用泛型后只能存储同一类型;
- 可以重复;
- 无序的,存入顺序与取出顺序不一定相同;
List
List list = new ArrayList();
list.add(value); // 在末尾添加
list.get(key); // 取出key对应的value
list.add(key, value); // 在key处添加value,导致之后的元素整体移动
list.remove(key/value); // 删除key处的元素或者值为value的元素;注意整型元素会被当成索引,所以整型元素的删除需要依靠遍历
// 使用remove()的方法时,要先从大到小的位置移除。当然如果你知道具体的对象,直接移除remove(对象)更稳妥。
- 可以存储不同类型的元素;
- 存储基础类型时会进行自动装箱,即
int类型自动装箱成Integer; - 按照索引进行存取;
- 有序的,取出的是顺序和存入的顺序一致;
Set
- 不会存储重复的元素;
- 无序,存入和取出的顺序不一定相同;
HashSet
Set<T> hashSet = new HashSet<T>();
hashSet.add(value); // 添加元素
hashSet.size(); // 当前大小
hashSet.remove(value); //删除
hashSet.clear(); // 清空
hashSet.isEmpty(); // 判空, 返回boolean型
hashSet.contains(value); // 查找, 返回boolean型
- 底层由HasMap实现,插入的元素被当作是HashMap的key, 根据HashCode值来圈定集合中的位置;
- 当需要获取其中的某个元素时,只能通过遍历的方式;
版权声明:本文为qq_45934120原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。