List:元素有序、可重复集合,可通过索引访问元素
ArrayList:底层基于数组实现,默认初始容量是10,扩容的时候按左位移运算扩容,每次扩容都需要创建数组,可以指定合适的初始化容量避免多次扩容。基于数组的原因,在随机访问上效率高;当插入元素到数组中间位置的时候,该位置后面的元素也需要全部后移一位,删除元素的时候需要前移,涉及多个元素操作的时候插入删除效率就会偏低(并且扩容操作也在插入的时候进行)
LinkedList:基于双向链表实现,随机访问元素效率要差,插入删除元素效率要高
Vector:基于数组实现,和ArrayList相似,初始容量也是10,操作也基本相同,不同的是扩容默认按一倍扩容,并且它是线程安全的
Set:元素不可重复
HashSet:基于HashMap来实现
LinkedHashSet:HashSet的子类,基于LinkedHashMap实现
TreeSet:基于TreeMap实现
排列的含义是?
排列,一般地,从n个不同元素中取出m(m≤n)个元素,按照一定的顺序排成一列,叫做从n个元素中取出m个元素的一个排列(Arrangement)。特别地,当m=n时,这个排列被称作全排列(Permutation)。
从n个不同元素中取出m(m≤n)个元素的所有排列的个数,叫做从n个不同元素中取出m个元素的排列数,用符号Anm(或Pnm,或nPm)表示。
注:两个排列相同,当且仅当两个排列的元素完全相同,且元素的排列顺序也相同。例如,abc与abd的元素不完全相同,它们是不同的排列;又如abc与acb,虽然元素完全相同,但元素的排列顺序不同,它们也是不同的排列。
上一篇:场景描述的含义是什么?探索的因子分析有一些局限性的原因是?
下一篇:最后一页