9.2 具体集合

集合类型描述
ArrayList动长度的索引序列
LinkedList高效插入移除的有序序列
ArrayDeque循环数组实现的双端队列
HashSet没有重复元素的无序集合
TreeSet有序集
EnumSet包含枚举类型的集合
LinkedHashSet记住元素插入次序的集合
PriorityQueue允许高效删除最小元素的集合
HashMap储存键值对的数据结构
TreeMap键值有序排列的映射表
EnumMap属于枚举类型的键值映射表
LinkedHashMap记住键值对添加次序的银映射表
WeakHashMap自动回收值的映射表
IdentityHashMap可以用==比较键值的映射表

这里写图片描述


1 链表

public class LinkedListTest
{
    public static void main(String[] args)
    {
        List<String> a = new LinkedList<>();
        a.add("Amy");
        a.add("Carl");
        a.add("Erica");

        List<String> b = new LinkedList<>();
        b.add("Bob");
        b.add("Doug");
        b.add("Frances");
        b.add("Gloria");

        // merge the words from b into a

        ListIterator<String> aIter = a.listIterator();
        Iterator<String> bIter = b.iterator();

        while (bIter.hasNext())
        {
            if (aIter.hasNext()) aIter.next();
            aIter.add(bIter.next());
        }

        System.out.println(a);

        // remove every second word from b

        bIter = b.iterator();
        while (bIter.hasNext())
        {
            bIter.next(); // skip one element
            if (bIter.hasNext())
            {
                bIter.next(); // skip next element
                bIter.remove(); // remove that element
            }
        }

        System.out.println(b);

        // bulk operation: remove all words in b from a

        a.removeAll(b);

        System.out.println(a);
    }
}

2 数组列表

本质是用数组储存数据


3 散列集

就是用HashCode进行存储,把hashCode值对空间数取余,就把该对象放到这个空间。如果满了就扩大空间数呗!


4 树集

插入的时候进行排序


5 队列与双端队列


6 优先级队列

总是把最小的元素删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值