普歌-允异团队:集合

一.整体思路图解

在这里插入图片描述
备注:此处的TreeSet及TreeMap均为Comparator进行排序,具体方法具体对待

二.Collection与Collections区别

collectioncollections
接口工具类

collections集合工具类的方法:

public static<T> boolean addAll(Collection<T> c,T...elements);//往集合里添加多个元素
public static void shuffle(List<?> list);//打乱集合顺序
public static<T> void sort(List<T> list);//将集合中的元素按照默认规则排序(默认:升序)
public satic<T> void sort(List<T> list,Comparator<? super T>);//将集合中元素按照指定规则排序

二.List集合

1.list接口的特点:
①有序集合,存储与取出元素一致
②有索引,包含一些带有索引的方法
③允许存储重复元素
2.list接口索引方法:
public void add(int index,E element);//返回指定元素位置的元素
public E get(int index);//返回集合中指定位置的元素
public E remove(int index);//删除指定位置上的的元素返回被删除的元素
public E set(int index,E element);//更换指定位置的元素,返回替换后的元素

ArrayList

1.底层:数组
2.优缺点:
①查询快,根据索引直接获取地址
②可自动扩容
③增删慢,需要每次重新创建数组
3.常用方法:

//相比较list接口多出的方法
public boolean remove();//删除当前位置的元素,返回删除是否成功
public int size();//返回元素个数
public void clear();//清空集合内容

LinkedList

1.底层:链表
2.优缺点:
①查询慢,
②增删快
③包含大量首尾操作
3.常用方法:

//相比较list接口多出的方法
public void addFirst(E e);//将指定元素插入此列表头
public void addLast(E e);//将指定元素插入此列表尾
public void push(E e);//将元素推入此列表所表示的堆栈<等同于addFirst>

public E getFirst();//返回此列表的第一个元素
public E getLast();//返回此列表的最后一个元素

public E removeFirst();//移除并返回此列表的第一个元素
public E removeLast();//移除并返回此列表的最后一个元素
public E pop();//从此列表表示的堆栈处弹出一个元素

public boolean isEmpty();//若列表不包含元素返回true

二.Set集合

1.Set接口的特点:
①不可重复,
②只有一个null,
③存入取出无顺序
2.Set接口索引方法:
public boolean add(E e);//添加元素(若不包含)
public void clear();//移除所有元素
public boollean contains(Object o);//判断是否包含此元素,不含返回true
public boolean isEmpty();//判断是否包含任意元素,不含返回true
public boolean remove(Object o);//判断元素是否创业板指并对其删除
public int size();//返回元素个数
public Iterator<E> iterator();//返回set中元素进行迭代器的使用

HashSet

1.底层:哈希表
2.特点:
①不允许重复元素
②无索引,无带索引的方法,无普通for循环
③无序集合,存储与取出元素可能不一致
④查询速度快
⑤若迭代性能需高,初始容量不可太高(或加载因子太低)
3.常用方法:

//大部分常用方法都与Set方法一样

LinkedHashSet

1.底层:哈希表+链表
2.特点:
①查询速度快
②有序
③不允许重复元素
3.常用方法:

//完全继承了HashSet的方法

二.Map接口

1.Map接口的特点:
①双列集合,一个元素包含两个值(一个key<键>,一个value<值>)
②key和value数据类型可同可不同
③key不允许重复,value允许
④key和value一一对应
2.特有方法:
public Set<K> keySet();//把键保存至Set集合中
public Set<Map.Entry<K,V>> entrySet();//把键中有的键值对存至Set集合

HashMap

1.底层:哈希表
2.特点:
①查询速度快
②无序集合,存储与取出元素不同
3.常用方法:

public V put(K key,V value);//指定键与值,添加到Map集合,若key不重复,返回null。重复会被替换,返回之前的vault
public V remove(Object key);//指定键对应的元素,在Map集合中删除,返回删除元素value值
public V get(Object key);//指定键,在Map集合中获取对应值,返回获取的value值 
public boolean containsKey(Object key);//判断集合中是否包含指定的键,包含则true,反之,false
public boolean containsValue(Object value);//判断集合中是否包含指定一个或多个值,包含则true,反之,false
public void clear();//移除所有的键值对
public int size();//集合中键值对的个数

LinkedHashMap

1.底层:哈希值+链表
2.特点:有序集合
3.常用方法:

public void clear();//移除所有的键值对
public boolean containsValue(Object value);//判断集合中是否包含指定一个或多个值,包含则true,反之,false
public V get(Object key);指定键,在Map集合中获取对应值,返回获取的value值

很好,很好,非常好!


作者:苹果葡萄秃秃
本文版权归作者和CSDN共有,欢迎转载,且在文章页面明显位置给出原文链接,未经作者同意必须保留此段声明,否则保留追究法律责任的权利。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值